SSM应用(三)--Spring整合MyBatis

整合思路

  MyBatis到底要做什么事情

    SqlSessionFactoryBuilder,SqlSessionFactory,SqlSession,操作数据库;

    主要完成对数据库的操作;

  Spring到底做什么事情

    管理bean

    管理bean和bean之间的关系

  SM整合

    Spring管理SqlSessionFactory,有对应的bean

    Spring对于数据操作的支持:从Spring管理的factory中得到SqlSession对象

    SqlSession操作数据—MyBatis

    有哪些bean在Spring中

      DataSource:数据源

      SqlSessionFactory:连接工厂

      XXXDao:数据操作,SqlSession,后续service也要找Spring要dao的bean;

      它们的关联关系:SqlSessionFactory需要用DataSource这个bean来建立连接,代表Spring中的依赖注入;XXXDao需要SqlSessionFactory提供SqlSession来实现数据操作,实现依赖注入;

     

  整合步骤:

    引入jar包,搭建代码框架;

      

  实现Spring和MyBatis的整合可以通过两种方式实现,下面将一一介绍:

基于映射的整合

  DataSource:在Spring的核心配置文件中配置

    数据库的相关设置

  sessionFactory:Build读取MyBatis的核心配置文件:用于设置数据库环境/注册映射文件

    依赖DataSource这个bean,有数据源才能创建

    MyBatis的核心配置文件提供要注册的映射文件

   Dao:使用SqlSession来完成数据操作

    SqlSession是来自sessionFactory

  步骤:

    1、配置Spring的核心配置文件

     

    2、实现MyBatis的mapper/dao接口,在conf中注册mapper

    3、提供dao层的实现类操作数据库,dao实现类中有一个属性sqlSessionFactory

    

    4、编写dao实现类;继承daoSupport类,从而才能实现sessionFactory的属性注入

    

    5、编写测试类;

    

基于mapper代理的整合

  Mapper代理方式:

    Mapper接口

    Mapper映射文件

  同名且同包,从而可以根据接口和映射文件生成代理类

   

  步骤:

  1、在Spring的核心配置文件中,配置DataSource和sessionFactory

  

  2、在Spring中配置dao代理类的bean

  3、针对每一个接口,配置一个代理类

  

  4、编写测试类

  

  

  还可以使用扫描包的方式自动生成mapper代理;注入sqlSessionFactory,默认包下的所有接口都要生成代理

  

PS:因作者能力有限,如有误还请谅解; 

猜你喜欢

转载自www.cnblogs.com/WHL5/p/8968310.html
今日推荐