一、spring整合mybatis
1.mybatis核心分析
玫红色框里的是核心对象,是对sqlsessionfactory对象进行初始化的;
mybatis就管的是sqlsessionfactory对象 。
2.spring整合mybatis
1.配置
//核心
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
//myabtis
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
//数据源
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
//mysql
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
//spring里操作数据库的专用包 spring操作数据库都要这个包
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
//spring整合mybatis的包
//这个版本要和mybatis的版本对应起来
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
</dependency>
2.创建一个config包,创建配置类 SpringConfig,在类前加上两个注解
(我们这使用的是纯注解方式,更简便快速,也可以使用xml配置)
3.我们这用的是数据源,在config包下创建数据源的类jdbcconfig
这个类上面要是加@Configuration,在SpringConfig中就不用加@Import注解了
4.再在config里新建一个MybatisConfig类,再把这个类也写在springconfig里的@Import注解后面
4.resourse目录下会有一个jdbc.properties,在写完数据源后,再去SpringConfig上加如下两个注解
5.配置sqlsessionfactory对应的bean,新建一个mybatisconfig类,来做mybatis的配置,
在springconfig类前,加上mybatisconfig的配置
然后在mybatisconfig里做方法,让他返回sqlsessionfactory对象,用SqlsessionfactoryBean快速创建sqlsessionfactory对象,SqlsessionfactoryBean这个类是mybatis整合spring的包下的。
这样配置文件就可以不要了
进行应用测试
3.整合mybatis,修改配置
其实就是将mybatis用的配置文件换成了spring配置类的方法
把配置文件改到mybatisconfig配置类里
设置基础扫描的包,也就是映射配置对应的包:
最后再进行一个测试:
二、spring整合Junit
使用test模块下的测试,一般测业务层接口比较多
1.在test模块创建一个service包下的AccountServiceTest
2.导入Junit的坐标
3.再导入spring整合Junit的
4.在 AccountServiceTest类里
eg: