springboot双数据源
不点
阅读:665
2021-04-01 11:16:18
评论:0
1.设置主数据源
@Configuration
@MapperScan(basePackages="***.dao.m", sqlSessionFactoryRef="mainSqlSessionFactory")
public class DataSourceMainConfig
{
@Primary //表示这个数据源是默认数据源
@Bean("mainDataSource") //将这个对象放入Spring容器中
@ConfigurationProperties(prefix="spring.datasource.main") //读取配置文件中的参数,并指定参数名的前缀
public DataSource getDataSource()
{
return DataSourceBuilder.create().build();
}
@Primary
@Bean("mainSqlSessionFactory")
public SqlSessionFactory mainSqlSessionFactory(@Qualifier("mainDataSource") DataSource datasource) throws Exception
{
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(datasource);
bean.setMapperLocations( new PathMatchingResourcePatternResolver().getResources("classpath:***/mapper/m/*.xml")); //xml位置
return bean.getObject();
}
@Primary
@Bean("mainSqlSessionTemplate")
public SqlSessionTemplate mainSqlSessionTemplate(@Qualifier("mainSqlSessionFactory") SqlSessionFactory sessionfactory)
{
return new SqlSessionTemplate(sessionfactory);
}
}
2.设置第二个数据源
@Configuration
@MapperScan(basePackages="***.dao.s", sqlSessionFactoryRef="secondSqlSessionFactory")
public class DataSourceVocConfig
{
@Bean("secondDataSource") //将这个对象放入Spring容器中
@ConfigurationProperties(prefix="spring.datasource.second") //读取配置文件中的参数,并指定参数名的前缀
public DataSource getDataSource()
{
return DataSourceBuilder.create().build();
}
@Bean("secondSqlSessionFactory")
public SqlSessionFactory vocSqlSessionFactory(@Qualifier("secondDataSource") DataSource datasource) throws Exception
{
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(datasource);
bean.setMapperLocations( new PathMatchingResourcePatternResolver().getResources("classpath:***/mapper/s/*.xml")); //xml位置
return bean.getObject();
}
@Bean("secondSqlSessionTemplate")
public SqlSessionTemplate vocSqlSessionTemplate(@Qualifier("secondSqlSessionFactory") SqlSessionFactory sessionfactory)
{
return new SqlSessionTemplate(sessionfactory);
}
}
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。