赞
踩
yml:
spring: datasource: # 正式数据库 first: url: jdbc:oracle:thin:@127.0.0.1:1521:ORCL username: root password: root # 测试数据库 second: url: jdbc:oracle:thin:@127.0.0.1:1521:ORCL username: root password: root
配置文件、
package com.sh.config; 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.beans.factory.annotation.Value; import org.springframework.boot.jdbc.DataSourceBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import javax.sql.DataSource; /** * @title: DataSourceConfig1 * @Author star * @description: TODO * @Date: 2021年04月14日 0014 09:44:53 * @Version 1.0 */ @Configuration @MapperScan(basePackages = "com.sh.dao.db1",sqlSessionTemplateRef ="firstSqlSessionTemplate") public class FirstDataSourceConfig { @Value("${spring.datasource.first.url}") private String url; @Value("${spring.datasource.first.username}") private String username; @Value("${spring.datasource.first.password}") private String password; /**本数据源扫描的mapper路径*/ static final String MAPPER_LOCATION = "classpath:mybatis/first/*.xml"; /**创建数据源*/ @Bean(name = "firstDS") @Primary public DataSource getFirstDataSource() { DataSource build = DataSourceBuilder.create() .url(url) .username(username) .password(password) .build(); return build; } /**创建SessionFactory*/ @Bean(name = "firstSqlSessionFactory") @Primary public SqlSessionFactory firstSqlSessionFactory(@Qualifier("firstDS") DataSource dataSource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); //设置mapper配置文件 bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(MAPPER_LOCATION)); return bean.getObject(); } /**创建事务管理器*/ @Bean("firstTransactionManger") @Primary public DataSourceTransactionManager firstTransactionManger(@Qualifier("firstDS") DataSource dataSource){ return new DataSourceTransactionManager(dataSource); } /**创建SqlSessionTemplate*/ @Bean(name = "firstSqlSessionTemplate") @Primary public SqlSessionTemplate firstSqlSessionTemplate(@Qualifier("firstSqlSessionFactory") SqlSessionFactory sqlSessionFactory){ return new SqlSessionTemplate(sqlSessionFactory); } }
package com.sh.config; 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.beans.factory.annotation.Value; import org.springframework.boot.jdbc.DataSourceBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import javax.sql.DataSource; /** * @title: DataSourceConfig2 * @Author star * @description: TODO * @Date: 2021年04月14日 0014 09:48:19 * @Version 1.0 */ @Configuration @MapperScan(basePackages = "com.sh.dao.db2",sqlSessionTemplateRef ="secondSqlSessionTemplate") public class SecondDataSourceConfig { @Value("${spring.datasource.second.url}") private String url; @Value("${spring.datasource.second.username}") private String username; @Value("${spring.datasource.second.password}") private String password; /**本数据源扫描的mapper路径*/ static final String MAPPER_LOCATION = "classpath:mybatis/second/*.xml"; /**创建数据源*/ @Bean(name = "secondDS") public DataSource getSecondDataSource() { DataSource build = DataSourceBuilder.create() .url(url) .username(username) .password(password) .build(); return build; } /**创建SessionFactory*/ @Bean(name = "secondSqlSessionFactory") public SqlSessionFactory secondSqlSessionFactory(@Qualifier("secondDS") DataSource dataSource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); //设置mapper配置文件 bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(MAPPER_LOCATION)); return bean.getObject(); } /**创建事务管理器*/ @Bean("secondTransactionManger") public DataSourceTransactionManager secondTransactionManger(@Qualifier("secondDS") DataSource dataSource){ return new DataSourceTransactionManager(dataSource); } /**创建SqlSessionTemplate*/ @Bean(name = "secondSqlSessionTemplate") public SqlSessionTemplate secondSqlSessionTemplate(@Qualifier("secondSqlSessionFactory") SqlSessionFactory sqlSessionFactory){ return new SqlSessionTemplate(sqlSessionFactory); } }
目录结构
我用的是oracle如果用mysql就要加上
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。