zoukankan      html  css  js  c++  java
  • 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:因作者能力有限,如有误还请谅解; 

  • 相关阅读:
    腾讯大数据开发实习面经
    网易游戏2021暑期实习生 游戏运营管理面经 已拿offer
    猿辅导大数据校招1面+2面面经
    虎牙直播内容运营(英雄联盟)三轮超高质量面经分享
    字节跳动日常实习广告大数据研发实习面经(初面)
    运营小白超详细三轮面试拿到字节跳动offer
    字节跳动前端日常实习三轮技术面经
    360大数据开发实习面经
    美团大数据开发工程师校招面经
    高级运维工程师的打怪升级之路
  • 原文地址:https://www.cnblogs.com/WHL5/p/8968310.html
Copyright © 2011-2022 走看看