Spring整合mybatis✨ 与 junit测试
1、导入整合所需maven坐标
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.6.RELEASE</version>
</dependency>
<!-- sql-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.9</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.0.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.7</version>
</dependency>
2、mybatis配置类
配置类将代替mybatis的xml配置文件
public class MybatisConfig {
@Bean
public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) {
SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();
//设置数据源
ssfb.setDataSource(dataSource);
return ssfb;
}
@Bean
public MapperScannerConfigurer mapperScannerConfigurer(){
MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
//扫描映射的包
mapperScannerConfigurer.setBasePackage("com.pojo");
return mapperScannerConfigurer;
}
}
上边的sqlSessionFactory(DataSource dataSource)中的DataSource延用jdbc中的Spring配置
写好此类之后别忘了加到Spring主配置类中
@Import({jdbcConfig.class,MybatisConfig.class})
3、Junit测试
- 导入坐标
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.3.7</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.1</version> <scope>test</scope> </dependency>
- 在test/java目录下创建test测试类
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = Springconfig.class) public class SpringTest { @Autowired @Qualifier("userMapperImpl") private userMapperImpl userMapperImpl; @Test public void Test(){ System.out.println(userMapperImpl.selectAll()); } }
这里注意一下spring-context与spring-test的版本问题,版本不支持可能会报错!!!