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:因作者能力有限,如有误还请谅解; 

  • 相关阅读:
    蚂蚁金服井贤栋:用技术联手金融机构,形成服务小微的生态合力
    蚂蚁金服 Service Mesh 渐进式迁移方案|Service Mesh Meetup 实录
    蚂蚁金服“定损宝”现身AI顶级会议NeurIPS
    报名 | 蚂蚁金服ATEC科技大会 · 上海:数字金融新原力
    前沿 | 中国中小银行都是如何展开数字化转型的?
    盘点:2018年双11背后的蚂蚁核心技术
    构筑敏捷能力中心,打造下一代数字银行“操作系统”!
    客户故事:4家银行如何打造新一代移动金融中心
    干货 | 金融级互联网产品持续交付的挑战与应对
    性能跃升50%!解密自主研发的金融级分布式关系数据库OceanBase 2.0
  • 原文地址:https://www.cnblogs.com/WHL5/p/8968310.html
Copyright © 2011-2022 走看看