springboot双数据源

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);
	}
}
发布了47 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_37460672/article/details/102856405