1. 使用Spring的数据源代替MyBatis的配置

<bean id="dataSource"  class="org.springframework.jdbc.datasource.DriverManagerDataSource">  <property name="driverClassName">   <value>com.mysql.cj.jdbc.Driver</value>   </property>   <property name="url">   <value>jdbc:mysql://localhost:3306/mybatis</value>   </property>   <property name="username">   <value>root</value>   </property>   <property name="password">   <value>123456</value>   </property>
</bean>   

2. SqlSessionFactory和SqlSessionTemplate(相当于SqlSession )也用bean注入,注意此处的configLocation引用的是mybatis-config.xml,一定要把mybatis-config.xml中的数据源配置和mapper注册注释掉,因为

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  <property name="dataSource" ref="dataSource" /> <!-- 文件映射器,指定类文件 --><property name="configLocation" value="classpath:mybatis-config.xml"/>  <!-- 自动扫描mapping.xml文件 -->  <property name="mapperLocations" value="classpath:com/xxx/mapper/*.xml"/>
</bean> 
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"><!-- 通过构造函数注入 --><constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>

3. 编写DAO实现类,里面有SqlSession属性,并添加set方法,注册相应的bean

<bean id="userMapper" class="com.xxx.mapper.UserMapperImpl"><property name="sqlSession" ref="sqlSession" />
</bean>

4. 在DAO实现类中添加实现方法

publiv List<User> getUserList() {UserMapper userMapper = sqlSession.getMapper(UserMapper.class);return userMappper.getUserList();
}

DAO实现类也可以继承SqlSessionDAOSupport,其中的getSqlSession()方法可以直接得到sqlSession,而不是作为属性注入,但第三步中注入bean的属性应该是sqlSessionFactory。

总结:Spring整合MyBatis主要作用就是将MyBatis的配置改为Spring的bean注入,比如数据源配置、mapper的注册,以及SqlSessionFactory和SqlSession的创建,全都是用bean的方式注入,这些bean可以写进一个固定的xml文件中(例如取名为spring-dao.xml),在常用的主xml文件中(一般名为applicationContext.xml)引用spring-dao.xml即可,然后在主xml文件中注入DAO实现类的bean。

MyBatis与Spring整合相关推荐

  1. Mybatis与Spring整合之配置文件方式

    Mybatis与Spring整合之配置文件 案例制作步骤--基础准备工作 ⚫ 环境准备 导入Spring坐标,MyBatis坐标,MySQL坐标,Druid坐标 ⚫ 业务类与接口准备 创建数据库表,并 ...

  2. mybatis和spring整合时这个报错,应该这样解决!

    01 问题描述 今天在写mybatis和spring整合的时候,出现了个问题,其实也没有多难,就是自己没有仔细看,特此记录一下. 报错问题如下: org.springframework.beans.f ...

  3. 【MyBatis框架】mybatis和spring整合

    spring和mybatis整合 1.整合思路 需要spring通过单例方式管理SqlSessionFactory. spring和mybatis整合生成代理对象,使用SqlSessionFactor ...

  4. Spring+SpringMVC+MyBatis深入学习及搭建(九)——MyBatis和Spring整合

    1.整合思路 需要Spring通过单例方式管理SqlSessionFactory. Spring和MyBatis整合生成代理对象,使用SqlSessionFactory创建SqlSession.(Sp ...

  5. Mybatis 与Spring整合及原理

    Mybatis 与Spring原理分析 http://www.mybatis.org/spring/zh/index.html 这里我们以传统的Spring 为例,因为配置更直观,在Spring 中使 ...

  6. MyBatis - 6.Spring整合MyBatis

    1.查看不同MyBatis版本整合Spring时使用的适配包: http://www.mybatis.org/spring/ 2.下载整合适配包 https://github.com/mybatis/ ...

  7. Mybatis和Spring整合

    一.dao接口+实现类的方式 1.先创建好整合工程结构 2.对于Spring和Mybatis 整合,我们先从数据库开始,即先创建一张简单的数据表,Sql如下 CREATE TABLE `t_user` ...

  8. spring boot mybatis 整合_MyBatis学习:MyBatis和Spring整合

    1. 整合的工程结构 首先我们来看下整合之后的工程结构是什么样的. 2. 配置文件 在于spring整合之前,mybatis都是自己管理数据源的,然后sqlSessionFactory是我们自己去注入 ...

  9. 【Spring】【MyBatis】Spring整合MyBatis01

    这是一个Spring整合MyBatis的第一次尝试,对于文件的命名和存放位置,也许有些不太合理,请见谅 需要数据库的请查阅[Mybatis]学习笔记01:连接数据库,实现增删改 - 萌狼蓝天 本文档使 ...

最新文章

  1. git for windows_Git for Windows,Git 国内镜像持续更新
  2. 使用 Rxjs 解决 Angular Component 之间的通信问题
  3. SAP Spartacus 里的三种table类型
  4. Android平台RTMP/RTSP播放器开发系列之解码和绘制
  5. linux系统安装serv u,建立第一个可用的FTP服务器
  6. oracle or索引失效,以下Oracle错误意味着什么:无效的列索引
  7. c语言结果输出10遍,C语言 如何实现输出这样一系列输出结果
  8. linux哪个文件夹不能乱改,Linux的文件夹权限如何更改
  9. MyBatis之使用XML配置SQL映射(一)
  10. 福特dms系统服务器,dms系统云服务器
  11. 网站或APP小程序调用短信验证码接口的流程
  12. 人类的行为与程序计算
  13. 金字塔结构式表达利器
  14. Halcon知识:binocular_disparity(双目视差)
  15. iphone 自定义铃声制作
  16. 七号信令监测系统培训手册
  17. cadence schematic composer/ADE virtuoso IC61 怎么样修改器件annotation
  18. 最全面的gtest的TEST宏源码解析及自动调度机制
  19. 弹性盒子布局(下面有代码)
  20. HNU--计算机网络实验2

热门文章

  1. Kubernetes、C语言小白变怪兽、C++ Primer Plus、TCP/IP网络编程、JavaScript高级程序设计
  2. 怎么制作画中画视频?学会这几招轻松实现
  3. 本量利分析计算机,2017年自学考试(管理会计(一))知识点复习:成本性态分析和变动成本法--本量利分析的应用[经营杠杆在利润预测中的应用]...
  4. 第十六届全国大学生智能车竞赛浙江赛区选拔赛成绩汇总
  5. 吐槽大会,加个好友,分享资源
  6. Date,LocalDateTime类型,获取今年开始时间,获取去年的今天。
  7. windows下,Anaconda安装GPU版本的tensorflow
  8. diy网页加速服务器教程,巧用网络加速工具 加速网页浏览速度
  9. iBeacon销声匿迹了吗?
  10. 打印设置自定义表尾_打印excel工作表时,如何把表头和表尾一起打印到每一页上?-excle怎样设置表尾打印...