MyBatis


  MyBatis 是轻量级的数据库访问API,封装了常用JDBC
  操作,可以实现实体对象的CRUD访问功能
 
  SqlSession 封装了Mapper的创建,和JDBC的CRUD
 
 配置文件:SqlMapConfig.xml 主配置文件
   声明了数据库连接参数,引用了映射文件
   映射文件: 每个实体一个映射文件
 
   映射文件与 Mapper接口对应。
 
映射文件中:
  每个Mapper接口中的方法,对应映射文件中的
  SQL语句。
 
使用MyBatis
 1 导入包
 2 创建配置文件
 3 创建实体和Mapper接口,已经映射文件
 4 使用 工厂创建SqlSession
 5 创建Mapper接口对象,执行接口方法
 
1 SqlSession 支持直接Sql语句执行
  关于Mapper接口 要求不能重复
  参数只能有一个,多个参数使用值对象
  查询才有返回值值。
 
  所以Mapper不是DAO
  没有Dao灵活方便!  
   DeptMapper{
     addDept(Dept)
   }
 
   EmpMapper{
     addEmp(Emp)
   }
 
2 关于ID的处理
  1 使用 Sequence
 
  2 自增类型(MySql SqlServer DB2 Derby):
  <insert id="addDept" useGeneratedKeys="true"
 keyProperty="deptno"
 parameterType="com.tarean.entity.Dept">
 insert into T_DEPT(dname, loc)
 values (#{dname},#{loc})
  </insert>
 
3 MyBatis与Spring的整合
 
 SqlSessionFactoryBean 创建和管理SqlSessionFactory
 对象
 
 MapperFactorBean 创建和管理 Mapper Bean对象
  管理一个 MapperBean
 
 MapperScannerConfigurer 也是创建和管理
 Mapper Bean对象,采用包扫描方式,效率高
 1) 默认全部包扫描
 2) 使用 注解将指定Mapper进行扫描 *
   要自定义 注解
 
 Mapper 接口 不是DAO 没有Dao灵活
 如果软件中必须使用Dao接口,MyBatis-Spring
 提供了一个组件:SqlSessionTemplate
 专门用于 MyBatis实现DAO接口
 
1) 如果软件直接使用Mapper 是不需要SqlSessionTemplate
2) 如果软件必须使用DAO层,使用SqlSessionTemplate
  可以加快DAO的开发。
 
SqlSessionTemplate 有什么功能?
  实体对象的CRUD
 
如何使用:
  1) 导入包
  2) 在Spring 配置文件中声明SqlSessionTemplate
   Bean
  3) 在DAO接口的实现来中,注入SqlSessionTemplate
  Bean
  4) 在实现DAO接口的方法中使用

posted on 2015-01-14 16:55  IMPLY  阅读(194)  评论(0编辑  收藏  举报