实现步骤
在启动类上加上@EnableAutoConfiguration
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, MybatisAutoConfiguration.class, PageHelperAutoConfiguration.class})
添加数据源配置类
mysql数据源
@Configuration
@MapperScan(basePackages = {"com.xxx.xxx.common.xiaoguan"}, sqlSessionFactoryRef = "mysqlSessionFactory")
public class MyBatisMysqlConfig {
@Value("${spring.datasource.xxx.url}")
private String dbUrl;
@Value("${spring.datasource.xxx.username}")
private String username;
@Value("${spring.datasource.xxx.password}")
private String password;
/**
* 数据源.
*
* @return
*/
@Bean
public DataSource mysqlDataSource() {
MysqlDataSource datasource = new MysqlDataSource();
datasource.setUrl(dbUrl);
datasource.setUser(username);
datasource.setPassword(password);
// datasource.setDr
// datasource.setDriverClassName(driverClassName);
/*
* try { datasource.setFilters(filters); } catch (SQLException e) { }
*/
return datasource;
}
@Bean
public SqlSessionFactory mysqlSessionFactory(@Qualifier("mysqlDataSource") DataSource dataSource) throws Exception {
//PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
//分页插件
Interceptor interceptor = new PageInterceptor();
Properties properties = new Properties();
//数据库
properties.setProperty("helperDialect", "mysql");
//是否分页合理化
properties.setProperty("reasonable", "true");
interceptor.setProperties(properties);
factoryBean.setPlugins(new Interceptor[] {interceptor});
factoryBean.setDataSource(dataSource);
// factoryBean.setTypeAliasesPackage("com.app.domain.entity");// 指定基包
// factoryBean.setMapperLocations(resolver.getResources("classpath:mapper/**/*.xml"));//
return factoryBean.getObject();
}
}
oracle数据源
@MapperScan(basePackages = "com.xxx.xxx.common.problem.mapper",sqlSessionFactoryRef = "oracleSessionFactory")
@Configuration
public class MyBatisOracleConfig {
@Value("${spring.datasource.xxx.url}")
private String dbUrl;
@Value("${spring.datasource.xxx.username}")
private String username;
@Value("${spring.datasource.xxx.password}")
private String password;
@Value("${spring.datasource.xxx.driver-class-name}")
private String driverClassName;
/**
* 数据源.
*
* @return
*/
@Bean
public DataSource oracleDataSource() {
return DataSourceBuilder.create().url(dbUrl).driverClassName(driverClassName).username(username).password(password).build();
}
@Bean
public SqlSessionFactory oracleSessionFactory(@Qualifier("oracleDataSource") DataSource oracleDataSource) throws Exception {
//PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
//分页插件
Interceptor interceptor = new PageInterceptor();
Properties properties = new Properties();
//数据库
properties.setProperty("helperDialect", "oracle");
//是否分页合理化
properties.setProperty("reasonable", "true");
interceptor.setProperties(properties);
factoryBean.setPlugins(new Interceptor[] {interceptor});
factoryBean.setDataSource(oracleDataSource);
// factoryBean.setTypeAliasesPackage("com.app.domain.entity");// 指定基包
// factoryBean.setMapperLocations(resolver.getResources("classpath:mapper/**/*.xml"));//
return factoryBean.getObject();
}
}