MyBatis详解8.集成Spring
2019-01-24 本文已影响1人
卢卡斯哔哔哔
点击进入我的博客
MyBatis详解1.概述
MyBatis详解2.MyBatis使用入门
MyBatis详解3.MyBatis配置详解
MyBatis详解4.映射器Mapper
MyBatis详解5.动态SQL
MyBatis详解6.MyBatis技术内幕
MyBatis详解7.插件
MyBatis详解8.集成Spring
1 引入依赖包
要是用Spring继承MyBatis,必须引入相关的依赖包,这里使用Maven来管理包依赖。
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.21.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.21.RELEASE</version>
</dependency>
<!-- mysql的java驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!-- mybatis包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency>
<!-- mybatis集成spring的包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<!--这里可以使用Java本身的数据源,也可以使用其他数据源如druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
</dependency>
</dependencies>
2 配置
在此只列出了完全使用注解实现的方式,使用XML配置的方式不再推荐。
// 表明这是个配置类
@Configuration
// 扫描此包下的所有类,查找Mapper
@MapperScan(value = "com.ankeetc.spring.mapper")
// 引入datasource.properties作为属性文件,方便使用@Value获取属性
@PropertySource(value = "classpath:datasource.properties")
public class MyBatisConfig {
@Value("${driver}")
private String driver;
@Value("${url}")
private String url;
@Value("${username}")
private String username;
// 使用DruidDataSource配置数据源
@Bean
public DruidDataSource MyDataSourceFactory() {
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDriverClassName(driver);
druidDataSource.setUrl(url);
druidDataSource.setUsername(username);
return druidDataSource;
}
// 配置SqlSessionFactoryBean
@Bean
public SqlSessionFactoryBean sqlSessionFactoryBean(@Autowired DataSource dataSource) throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
// 设置数据源
sqlSessionFactoryBean.setDataSource(dataSource);
// 设置Mapper.xml的源文件
sqlSessionFactoryBean.setMapperLocations(
new PathMatchingResourcePatternResolver().getResources("classpath:mappers/*"));
return sqlSessionFactoryBean;
}
}
// 可以直接从上下文中获取我们的Mapper的Bean,并直接使用
public class Main {
public static void main(String[] args) throws Exception {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext("com.ankeetc.spring");
System.out.println(context.getBean(StudentMapper.class).select("zzx", 1L));
}
}
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root