package org.spring.springboot.config.ds;
import com.alibaba.druid.pool.DruidDataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
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.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import javax.sql.DataSource;
@Configuration
// 扫描 Mapper 接口并容器管理
@MapperScan(basePackages = MasterDataSourceConfig.PACKAGE, sqlSessionFactoryRef = "masterSqlSessionFactory")
public class MasterDataSourceConfig {
// 精确到 master 目录,以便跟其他数据源隔离
static final String PACKAGE = "org.spring.springboot.dao.master";
static final String MAPPER_LOCATION = "classpath:mapper/master/*.xml";
@Value("${master.datasource.url}")
private String url;
@Value("${master.datasource.username}")
private String user;
@Value("${master.datasource.password}")
private String password;
@Value("${master.datasource.driverClassName}")
private String driverClass;
@Bean(name = "masterDataSource")
@Primary
public DataSource masterDataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(driverClass);
dataSource.setUrl(url);
dataSource.setUsername(user);
dataSource.setPassword(password);
return dataSource;
}
@Bean(name = "masterTransactionManager")
@Primary
public DataSourceTransactionManager masterTransactionManager() {
return new DataSourceTransactionManager(masterDataSource());
}
@Bean(name = "masterSqlSessionFactory")
@Primary
public SqlSessionFactory masterSqlSessionFactory(@Qualifier("masterDataSource") DataSource masterDataSource)
throws Exception {
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(masterDataSource);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
.getResources(MasterDataSourceConfig.MAPPER_LOCATION));
return sessionFactory.getObject();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
springboot mybatis多数据源加事务嵌套
共100个文件
xml:71个
java:12个
class:12个
5星 · 超过95%的资源 需积分: 34 51 下载量 184 浏览量
2018-06-21
14:25:28
上传
评论
收藏 122KB RAR 举报
温馨提示
springboot mybatis多数据源加事务嵌套 事务之间的调用 回滚 亲测可用 定义2个库分别建立 CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户编号', `user_name` varchar(25) DEFAULT NULL COMMENT '用户名称', `description` varchar(25) DEFAULT NULL COMMENT '描述', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; CREATE TABLE `city` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '城市编号', `province_id` int(10) unsigned NOT NULL COMMENT '省份编号', `city_name` varchar(25) DEFAULT NULL COMMENT '城市名称', `description` varchar(25) DEFAULT NULL COMMENT '描述', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
资源推荐
资源详情
资源评论
收起资源包目录
springboot mybatis多数据源加事务嵌套 (100个子文件)
MasterDataSourceConfig.class 3KB
ClusterDataSourceConfig.class 3KB
UserServiceImpl.class 2KB
UserRestController.class 1KB
User.class 1KB
City.class 1KB
CityServiceImpl.class 1KB
Application.class 781B
CityDao.class 384B
UserDao.class 383B
UserService.class 305B
CityService.class 274B
springboot-mybatis-mutil-datasource.iml 8KB
MasterDataSourceConfig.java 3KB
ClusterDataSourceConfig.java 2KB
UserServiceImpl.java 1KB
CityServiceImpl.java 1KB
UserRestController.java 1KB
City.java 1014B
User.java 906B
Application.java 645B
UserDao.java 476B
CityDao.java 471B
UserService.java 464B
CityService.java 299B
common_time_size.log 1.07MB
common.log 1.07MB
application.properties 554B
application.properties 554B
workspace.xml 47KB
uiDesigner.xml 9KB
logback.xml 2KB
logback.xml 2KB
pom.xml 2KB
CityMapper.xml 997B
CityMapper.xml 997B
misc.xml 987B
UserMapper.xml 924B
UserMapper.xml 924B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_1_RELEASE.xml 769B
Maven__org_springframework_boot_spring_boot_starter_logging_1_5_1_RELEASE.xml 748B
Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_1_RELEASE.xml 741B
Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_1_RELEASE.xml 734B
Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_2_0.xml 730B
Maven__org_springframework_boot_spring_boot_starter_test_1_5_1_RELEASE.xml 727B
Maven__org_springframework_boot_spring_boot_starter_jdbc_1_5_1_RELEASE.xml 727B
Maven__org_springframework_boot_spring_boot_starter_web_1_5_1_RELEASE.xml 720B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 700B
Maven__org_springframework_boot_spring_boot_starter_1_5_1_RELEASE.xml 692B
Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_2_0.xml 688B
compiler.xml 682B
Maven__org_springframework_boot_spring_boot_test_1_5_1_RELEASE.xml 671B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml 660B
Maven__org_springframework_spring_expression_4_3_6_RELEASE.xml 658B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml 644B
Maven__org_springframework_spring_context_4_3_6_RELEASE.xml 637B
Maven__org_springframework_boot_spring_boot_1_5_1_RELEASE.xml 636B
Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml 634B
Maven__org_springframework_spring_webmvc_4_3_6_RELEASE.xml 630B
Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml 625B
Maven__com_fasterxml_jackson_core_jackson_databind_2_8_6.xml 623B
Maven__org_springframework_spring_beans_4_3_6_RELEASE.xml 623B
Maven__org_springframework_spring_core_4_3_6_RELEASE.xml 616B
Maven__org_springframework_spring_jdbc_4_3_6_RELEASE.xml 616B
Maven__org_springframework_spring_test_4_3_6_RELEASE.xml 616B
Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml 611B
Maven__javax_validation_validation_api_1_1_0_Final.xml 611B
Maven__org_springframework_spring_web_4_3_6_RELEASE.xml 609B
Maven__org_springframework_spring_aop_4_3_6_RELEASE.xml 609B
Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml 608B
Maven__org_springframework_spring_tx_4_3_6_RELEASE.xml 602B
Maven__com_fasterxml_jackson_core_jackson_core_2_8_6.xml 595B
Maven__mysql_mysql_connector_java_5_1_39.xml 574B
Maven__ch_qos_logback_logback_classic_1_1_9.xml 568B
Maven__org_slf4j_log4j_over_slf4j_1_7_22.xml 562B
Maven__org_apache_tomcat_tomcat_jdbc_8_5_11.xml 559B
Maven__org_apache_tomcat_tomcat_juli_8_5_11.xml 559B
Maven__org_hamcrest_hamcrest_library_1_3.xml 553B
Maven__org_mockito_mockito_core_1_10_19.xml 549B
Maven__org_mybatis_mybatis_spring_1_3_1.xml 549B
Maven__org_slf4j_jcl_over_slf4j_1_7_22.xml 548B
Maven__ch_qos_logback_logback_core_1_1_9.xml 547B
Maven__com_jayway_jsonpath_json_path_2_2_0.xml 546B
Maven__net_minidev_accessors_smart_1_1.xml 542B
Maven__org_skyscreamer_jsonassert_1_4_0.xml 537B
Maven__org_assertj_assertj_core_2_6_0.xml 535B
Maven__org_slf4j_jul_to_slf4j_1_7_22.xml 534B
Maven__org_hamcrest_hamcrest_core_1_3.xml 532B
Maven__com_fasterxml_classmate_1_3_3.xml 522B
Maven__net_minidev_json_smart_2_2_1.xml 521B
Maven__org_slf4j_slf4j_api_1_7_22.xml 513B
Maven__org_objenesis_objenesis_2_1.xml 508B
Maven__org_mybatis_mybatis_3_4_2.xml 500B
Maven__org_yaml_snakeyaml_1_17.xml 495B
Maven__com_alibaba_druid_1_0_18.xml 493B
Maven__org_ow2_asm_asm_5_0_3.xml 472B
Maven__junit_junit_4_12.xml 455B
modules.xml 310B
encodings.xml 172B
vcs.xml 167B
共 100 条
- 1
资源评论
- 牛站长2023-07-24阅读完这篇文章后,我对于多数据源和事务嵌套有了更清晰的认识,感谢作者的分享。
- 臭人鹏2023-07-24这篇文件对于学习使用SpringBoot和MyBatis搭建多数据源并进行事务嵌套非常有帮助。
- 吹狗螺的简柏承2023-07-24作者在文中详细介绍了实现多数据源和事务嵌套的步骤,让读者可以快速理解和应用。
- 家的要素2023-07-24文中提供了实际的代码示例,帮助读者更好地理解如何配置数据源和使用MyBatis进行数据库操作。
- 梁肖松2023-07-24作者使用简洁明了的语言,避免了过度复杂的技术术语,使得这篇文章非常易懂。
liumingxuxu
- 粉丝: 5
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功