package com.test.dataSource;
import javax.sql.DataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
/**
* @classDesc : 功能描述:(db1数据源配置)
* @author Administrator 李建伟
* @caeateTime : 2017年9月3日 上午11:09:10
* @version : v1.0
* @Configuration ==> 表示这个类创建好之后把这个类注入到Spring容器中
* @MapperScan ==> 扫包
* basePackages = "com.test.mapper.test1" 表示一会创建的mapper.xml文件要放到这个包下
* sqlSessionFactoryRef = "test1SqlSessionTemplate" 引用创建的test1SqlSessionTemplate会话模板
*/
@Configuration
@MapperScan(basePackages = "com.test.mapper.test1", sqlSessionTemplateRef = "test1SqlSessionTemplate")
public class DataSource1Config {
/**
* @classDesc : 功能描述:(创建数据源,读取配置文件开头spring.datasource.test1信息)
* @author Administrator 李建伟
* @caeateTime : 2017年9月3日 上午11:14:53
* @returnType :@return DataSource
* @ConfigurationProperties(prefix = "spring.datasource.test1")
* 读取application.properties配置文件里spring.datasource.test1开头的配置
*
* @Bean(name = "test1DataSource") 相当于我们以前的xml中这样配置
* <bean id="test1DataSource"></bean>
*
*/
@Bean(name = "test1DataSource")
@ConfigurationProperties(prefix = "spring.datasource.test1")
@Primary
public DataSource testDataSource() {
return DataSourceBuilder.create().build();
}
/**
* @classDesc : 功能描述:(创建sqlSessionFactory)
* @author Administrator 李建伟
* @throws Exception
*
* @Qualifier("test1DataSource") 默认引用test1DataSource这个数据源、
*
*/
@Bean(name = "test1SqlSessionFactory")
@Primary
public SqlSessionFactory testSqlSessionFactory(@Qualifier("test1DataSource") DataSource dataSource) throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
//bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mybatis/mapper/test1/*.xml"));
return bean.getObject();
}
/**
* @methodDesc : 功能描述:(创建test1数据源事物管理器)
* @author Administrator 李建伟
*
* @Qualifier("test1DataSource") 同样也是 默认引用test1DataSource这个数据源、
*
*/
@Bean(name = "test1TransactionManager")
@Primary
public DataSourceTransactionManager testTransactionManager(@Qualifier("test1DataSource") DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
/**
* @methodDesc : 功能描述:(创建test1会话模板)
* @author Administrator 李建伟
* @return testSqlSessionTemplate
* @throws Exception
*
* @Bean(name = "test1SqlSessionTemplate")
* 创建test1SqlSessionTemplate会话模板之后同样会引用test1SqlSessionFactory数据源
*/
@Bean(name = "test1SqlSessionTemplate")
@Primary
public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("test1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
return new SqlSessionTemplate(sqlSessionFactory);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
新建文件夹.zip (30个子文件)
新建文件夹
SpringBoot2
pom.xml 2KB
target
test-classes
classes
META-INF
maven
SpringBoot2
SpringBoot2
pom.xml 2KB
pom.properties 243B
MANIFEST.MF 347B
application.properties 603B
com
test
app
Main.class 972B
mapper
test2
User2Mapper.class 177B
User2Mapper.xml 396B
test1
User1Mapper.xml 396B
User1Mapper.class 177B
dataSource
DataSource1Config.class 2KB
DataSource2Config.class 2KB
controller
TestController.class 1KB
entity
UserEntity.class 1KB
.settings
org.eclipse.m2e.core.prefs 90B
org.eclipse.core.resources.prefs 111B
org.eclipse.jdt.core.prefs 243B
src
test
resources
java
main
resources
application.properties 603B
java
com
test
app
Main.java 996B
mapper
test2
User2Mapper.java 317B
User2Mapper.xml 396B
test1
User1Mapper.xml 396B
User1Mapper.java 317B
dataSource
DataSource2Config.java 4KB
DataSource1Config.java 4KB
controller
TestController.java 1KB
entity
UserEntity.java 841B
.project 563B
.classpath 1KB
user1.sql 400B
共 30 条
- 1
资源评论
- lt20090901382018-03-08不错的资源
qq_37650948
- 粉丝: 1
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功