zoukankan      html  css  js  c++  java
  • 【Spring】整合Mybatis两种方式

    我们先来回顾一下mybatis如何进行增删改查。

    1.首先我们需要一个接口UserMapper里面写一个抽象方法。

     2.我们需要对于此接口进行mapper映射,所以需要新设一个UserMapper.xml文件 

     3.接下来我们需要进行mabatis的配置文件的书写

    (1)数据源datasource(配置数据库)

     

     (2)sqlSessionFactoryBuilder——》sqlSessionFactory——》sqlSession

    需要手动进行new新对象 手动生成sqlSession

    可以将生成sqlSeesion声明为一个工具类

    方式一:sqlSession声明为bean

    (1)数据源

    使用spring-jdbc代替mabatis的配置文件 连接数据库

    (这个随意 可以用其他 dbcp durib)

     (2)sqoSessionFactory  对应的是spring包下的SqlSessionFactoryBean类

    在下面需要配置刚才的数据源

    以及mybatis的其他设置

     

     (3)sqlSession在spring里面叫做sqlSessionTemplate。

    (由于没有set方法,不能使用set方法注入。所以只能选择构造器注入 注入sqlSessionFactory。

     (4)将接口新建一个实现类

    (因为spring管理的是对象 所以变成类方便管理)

     我们注意观察在这个实现类中有一个sqlSessionTemplate类型的对象。

    我们使用spring的set方式进行依赖注入。详情见(5)

    我们这里实现的query 实际上就是mybatis的语法:

    回顾一下mybatis的方法:接口里面有抽象方法,然后对于接口建立一个mapper.xml 里面放进去抽象方法对应的sql语句。

    在测试时,从工具类获得sqlSession然后调用sqlSession的getMapper。然后用mapper进行调用方法。

    在这里的方法:

    前面步骤都是一样的,只不过对象的操作都交给了spring。

    我们在实现类中放进去一个sqlsessionTemplate,因为在方法需要用到sqlSessionTemplate进行getMapper。

    然后mapper调用mapper.xml里面的sql

    (5)使用set进行依赖注入

    方式二、sqlSession不需要注册为bean

     在这种情况下可以将spring里面的sqlSession的注册删除掉

    通过继承sqlSessionDaoSupport 使用getSqlSession方法 直接得到sqlSession

    (注意 注册此实现类时 需要将SqlSessionFactory进行依赖注入)

  • 相关阅读:
    Java8新特性一览表
    FastDFS 单机部署指南
    EntityManager的Clear方法的使用
    元类
    python中的函数的分类
    python中的多任务
    正则表达式
    GIL和copy
    文件管理
    logging日志模块配置
  • 原文地址:https://www.cnblogs.com/cckong/p/14387145.html
Copyright © 2011-2022 走看看