J2EE持久层框架mybatis配置文件写法

mybatis在J2EE持久层框架中,主要就是不用像以前那样不用写持久层接口的实现类了,全部用配置文件来写,配置文件的写法如下:




"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="">


<select id="持久层接口中的方法名" resultType="自定义的映射关系">
  sql语句
select>

 mapper>

除了查询语句外,其他的增删改,都差不多,只是不需要定义映射关系,在查询语句的时候,自定义的映射关系标签内:如果数据库列名和实体bean的属性名一样,可以不用自定义映射关系,如果实体bean里有自定义类型的变量,则不能不用自定义的映射,有两种方式可以解决:

方式一:在自定义的映射关系里,加上 <association property="实体bean的成员变量" javaType="成员变量的类型全路径">标签,标签内的代码和自定义结果集里的一样;
方式二:<association property="实体bean的成员变量" column="形参值" select="直接调接口中的方法" javaType="调用此方法返回的类型"/>
在SQL的写法上和JDBC的差不多。只是在取值的时候,有点类似 EL表达式,用#{属性}名来取值,在动态条件查询的时候,有时候,用到的${} #{}的区别有: # 没有单引号,$ 有单引号。

另外在配置文件中,可以写在对应的接口中没有的方法,然后直接通过通过内部的方法来调用。
基础的SQL操作,难度不大,最重要的是,联表查、动态查询以及分页查询的编程思想。必须掌握

最后还有,表映射关系,之前在学习JDBC的时候,我们已经学习了表的映射关系,有 一对一,一对多,多对多的关系,
一对一:在从表里有主表的外键,它们一一对应;
一对多:在多个从表记录里,有相同的外键,就是一条主表记录对应多个从表记录;
多对多:这个记录比较特殊,则多出一个中间表,在中间表里,管理其他两张表的关系,其中一张表的记录通过中间表,对应另外一张表的多个记录,反之;







你可能感兴趣的:(J2EE持久层框架mybatis配置文件写法)