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进行依赖注入)

  • 相关阅读:
    Logistic Regression
    Bootstrap研究2布局系统杂记
    《Programming in Scala》读书笔记(持续更新) passover的个人空间 DOIT博客 多易网
    《Scala, Erlang, F#作者讨论函数式语言》有感
    用python抓取oj题目(0)——重回战场 duoduo3_69 博客园
    Netty vs Apache MINA
    What is Akka?
    Fault Tolerance (Scala) — Akka Documentation
    execute phase · mrdon/mavencliplugin Wiki
    netty和mina的比较
  • 原文地址:https://www.cnblogs.com/cckong/p/14387145.html
Copyright © 2011-2022 走看看