1.创建MyBatisConfig类,主要是配置mybatis的数据源和mappre接口以及xml的路径。
2.通过@Bean注解创建SqlSessionFactoryBean,详见代码
@Bean
public SqlSessionFactoryBean createSqlSessionFactory() throws IOException {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
//获取数据源
DataSource dataSource = dataSource();
// 设置MyBatis 配置文件的路径
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
// 设置mapper 对应的XML 文件的路径
sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath*:mybatis/**.xml"));
// 设置数据源
sqlSessionFactoryBean.setDataSource(dataSource);
// 设置mapper 接口所在的包
sqlSessionFactoryBean.setTypeAliasesPackage("com.myself.mapper");
//以下代码添加外部插件
// sqlSessionFactoryBean.setPlugins();
return sqlSessionFactoryBean;
}
3.数据源代码(简化版):
public DataSource dataSource() {
PooledDataSource dataSource = new PooledDataSource();
dataSource.setDriver(env.getProperty("spring.datasource.driver-class-name"));
dataSource.setUsername(env.getProperty("spring.datasource.username"));
dataSource.setUrl(env.getProperty("spring.datasource.url"));
dataSource.setPassword(env.getProperty("spring.datasource.password"));
return dataSource;
}
4.通过Environment可以获取到当前的环境,具体请查阅springboot生命周期。它的主要作用是获取属性配置文件中的值