集成思路
Spring能集成很多的框架,是Spring一个优势功能。
通过集成功能,让开发人员使用其他框架更方便。
集成使用的是Spring IoC
核心技术。
要使用框架,例如mybatis,怎么使用mybatis ?
Spring集成MyBatis的目的👉将Mybatis框架中用到的对象交给Spring来管理,主要是SqlSessionFactory
和dao代理
,把这两个交给容器Spring。在Spring主配置文件中声明对象
使用mybatis,需要创建mybatis框架中的某些对象, 使用这些对象,就能使用mybatis提供的功能。
分析: mybatis执行sql语句,需要使用那些对象
1.需要有Dao接口的代理对象, 例如StudentDao接口, 需要一个它的代理对象使用 SqlSession.getMapper(StudentDao.class)
,得到dao
代理对象
2.需要有SqlSessionFactory
👉创建SqlSessionFactory对象👉使用openSession()
得到SqlSession
对象👉执行SqlSession.getMapper()
3.数据源DataSource对象, 使用一个更强大、功能更多的连接池对象代替mybatis自己的PooledDataSource
👇👇👇
spring集成mybatis
实现步骤:
1.使用的mysql库, 使用学生表 student2(id int 主键列, 自动增长,name varchar(80), age int)
2.创建maven项目
3.加入依赖gav
spring依赖, mybatis依赖, mysql驱动, junit依赖
mybatis-spring依赖(mybatis网站上提供的,用来在spring项目中,创建mybatis对象)
spring有关事务(提交、回滚)的依赖。
mybatis和spring整合的时候, 事务是自动提交的。
4.创建实体类Student
5.创建Dao接口和mapper文件写sql语句
6.写mybatis主配置文件
7.创建service接口和它的实现类
8.创建spring的配置文件
1)声明数据源DataSource,使用的阿里的Druid连接池
2) 声明SqlSessionFactoryBean类,在这个类内部创建的是SqlSessionFactory对象。
3)声明MapperScannerConfiguration类,在内部创建dao代理对象,
创建的对象都放在spring容器中。
4)声明Service对象,把3)的中dao赋值给service属性
9.测试dao访问数据库
具体实现
1.创建maven项目
2.MySQL 创建数据库 springdb,新建表 Student
3.在pom.xml中添加依赖
<!--spring依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
<!--spring事务依赖-->
<dependency>
<groupId>org.springframework</groupId<