Spring整合MyBatis
1.pom.xml中添加mybatis的依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.11</version>
</dependency>
<!--spring操作数据库专用依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.24</version>
</dependency>
<!--spring整合mybatis使用的依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.1.0</version>
</dependency>
<!--数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
<scope>compile</scope>
</dependency>
2.添加Mybatis配置文件
public class MybatisConfig {
//定义Bean,用于产生SqlSessionFactory对象
@Bean
public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource){
SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();
ssfb.setTypeAliasesPackage("com.yuan.domain");
//为第三方Bean注入引用类型依赖
ssfb.setDataSource(dataSource);
return ssfb;
}
//定义Bean,返回MapperScannerConfigurer对象,代替mybatis配置文件中的mapper标签package
@Bean
public MapperScannerConfigurer mapperScannerConfigurer(){
MapperScannerConfigurer msc = new MapperScannerConfigurer();
msc.setBasePackage("com.yuan.dao");
return msc;
}
}
配置文件中主要有两个bean,分别对应原先Mybatis配置文件的不同配置内容

Spring整合Junit
1.因为是整合到spring,所以pom.xml文件中除了添加junit单元之外,还要添加spring的依赖
<!-- junit测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
2.测试单元中添加注解RunWith
是采用spring整合junit专用的类加载器;ContextConfiguration
告诉junit该spring项目使用的spring环境(否则junit不知道bean在哪呀)。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringConfig.class)
public class AccountServiceTest {
@Autowired
private AccountService accountService;
@Test
public void testFindById(){
System.out.println(accountService.findAll());;
}
}