动力节点Spring框架学习笔记-王鹤spring整合MyBatis
Posted 老杜铁杆粉丝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动力节点Spring框架学习笔记-王鹤spring整合MyBatis相关的知识,希望对你有一定的参考价值。
三、spring整合MyBatis
正在学Spring,整理了相关的学习笔记,分享给大家共同进步,视频看的动力节点王鹤老师讲的spring框架,条理非常清晰,够详细
-
视频观看地址
https://www.bilibili.com/video/BV1nz4y1d7uy
将 MyBatis 与 Spring 进行整合,主要解决的问题就是将SqlSessionFactory 对象交由 Spring来管理
只需要将 SqlSessionFactory 的对象生成器 SqlSessionFactoryBean 注册在 Spring 容器中,再将其注入给 Dao 的实现类即可完成整合
整合思路
需要有需要有Dao接口的代理对象,例如studentDao需要一个他的代理对象,使用SqlSession.getMapper(StudentDao.class),得到dao代理对象
需要有SqlSessionFactory,创建一个SqlSessionFactory对象,使用SqlSessionFactory.open()得到SqlSession对象
数据源DataSource对象,使用连接池对象替换mybatis自己的PooledDataSource
3.1 maven依赖
maven依赖
3.2 实体类
- 定义实体类
3.3 Dao接口与mapper文件
- Dao接口
- mapper文件
3.4 service接口与实现类
- service接口
- service实现类
3.5 MyBatis主配置文件
主配置文件中不再需要数据源的配置了,因为数据源要交给 Spring 容器来管理了
这里对 mapper 映射文件的注册,使用<package/>标签,即只需给出 mapper 映射文件所在的包即可,因为 mapper 的名称与 Dao 接口名相同,可以使用这种简单注册方式。这种方式的好处是,若有多个映射文件,这里的配置也是不用改变的。当然,也可使用原来的<resource/>标签方式
3.6 spring的配置文件
- jdbc.properties文件
该属性文件若要被 Spring 配置文件读取,其必须在配置文件中进行注册。使用<context>标签
<context:property-placeholder/>标签中有一个属性 location,用于指定属性文件的位置
- 注册 SqlSessionFactoryBean
- 定义 Mapper 扫描配置器 MapperScannerConfigurer
Mapper 扫描配置器 MapperScannerConfigurer会自动生成指定的基本包中 mapper 的代理对象 。该 Bean无需设置 id 属性。basePackage 使用分号或逗号设置多个包
3.7 向service注入接口名
向 Service 注入 Mapper 代理对象时需要注意,由于通过 Mapper 扫描配置器MapperScannerConfigurer生成的 Mapper 代理对象没有名称,所以在向 Service 注入 Mapper代理时,无法通过名称注入。但可通过接口的简单类名注入,因为生成的是这个 Dao 接口的对象。
- 全部配置文件
以上是关于动力节点Spring框架学习笔记-王鹤spring整合MyBatis的主要内容,如果未能解决你的问题,请参考以下文章
#yyds干货盘点#动力节点王鹤Springboot教程笔记Spring boot快速入门