- 浏览: 269197 次
- 性别:
- 来自: 江西
文章分类
最新评论
-
hiben:
[list][*][list][*][*][*][/list] ...
多数据源的配置和切换 -
bqmcjl:
大哥。我项目里边怎么没有AbstractRoutingData ...
多数据源的配置和切换 -
zhouchuang:
y
java中的分页处理 -
hm2008:
...
父母不会站在原地等你 (推荐) -
tamsiuloong:
简单是简单 效率相当低
最简单的java 克隆实现
[color=green]
项目中用到过多数据源之间的切换,从网络上搜寻到的相关资料结合自己的实践,把它记录下来,以备需要时查询。
一、数据源的配置。
代码:
数据源枚举类:
代码:
动态数据源:
代码:
数据源切换类:
代码:
当需要数据库操作时,需要在操作前增加这段代码即可:
[/color]
[/list] [/list]
事务最好用全局事务,用全局事务才能保证,具体我也没有去试过。呵呵。
项目中用到过多数据源之间的切换,从网络上搜寻到的相关资料结合自己的实践,把它记录下来,以备需要时查询。
一、数据源的配置。
代码:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> <beans> <!-- 数据源定义--> <bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://localhost:3306/tenpay_db?user=tenpay&password=cft2008</value> </property> <property name="username"> <value>tenpay</value> </property> <property name="password"> <value>cft2008</value> </property> </bean> <bean id="fcDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://localhost:3306/c2c_db?user=tenpay&password=cft2008</value> </property> <property name="username"> <value>tenpay</value> </property> <property name="password"> <value>cft2008</value> </property> </bean> <bean id="dataSource" class="com.ben.util.DynamicDataSource"> <property name="targetDataSources"> <map key-type="com.ben.util.CustomerType"> <entry key="fcds" value-ref="fcDataSource"/> <entry key="myds" value-ref="myDataSource"/> </map> </property> <property name="defaultTargetDataSource" ref="fcDataSource"/> </bean> </beans>
数据源枚举类:
代码:
/** * <pre> * Title: CustomerType.java * Project: tenpay_Admin * Type: com.ben.util.CustomerType * Author: ben.liu * Create: 2008-11-25 下午05:12:49 * Copyright: Copyright (c) 2008 * Company: * <pre> */ package com.ben.util; /** * <pre> * 数据源枚举类 * </pre> * @author ben.liu * @version 1.0, 2008-11-25 */ public enum CustomerType { fcds, myds }
动态数据源:
代码:
/** * <pre> * Title: DynamicDataSource.java * Project: tenpay_Admin * Type: com.ben.util.DynamicDataSource * Author: ben.liu * Create: 2008-11-25 下午02:26:46 * Copyright: Copyright (c) 2008 * Company: * <pre> */ package com.ben.util; import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; /** * <pre> * 动态数据源 * </pre> * @author ben.liu * @version 1.0, 2008-11-25 */ public class DynamicDataSource extends AbstractRoutingDataSource { @Override protected Object determineCurrentLookupKey() { return CustomerContextHolder.getCustomerType(); } }
数据源切换类:
代码:
/** * <pre> * Title: CustomerContextHolder.java * Project: tenpay_Admin * Type: com.ben.util.CustomerContextHolder * Author: ben.liu * Create: 2008-11-25 下午02:22:52 * Copyright: Copyright (c) 2008 * Company: * <pre> */ package com.ben.util; /** * <pre> * 数据源切换类 * </pre> * @author ben.liu * @version 1.0, 2008-11-25 */ public class CustomerContextHolder { private static final ThreadLocal<CustomerType> contextHolder = new ThreadLocal<CustomerType>(); public static void setCustomerType(CustomerType customerType) { contextHolder.set(customerType); } public static CustomerType getCustomerType() { return (CustomerType) contextHolder.get(); } public static void clearCustomerType() { contextHolder.remove(); } }
当需要数据库操作时,需要在操作前增加这段代码即可:
CustomerContextHolder.setCustomerType(CustomerType.myds);
[/color]
评论
7 楼
hiben
2016-10-09
- [list]
- [*][list]
- [*][*]
- [*]
6 楼
bqmcjl
2013-06-18
大哥。我项目里边怎么没有AbstractRoutingDataSource这个包啊,导入说找不到这个包怎么解决啊
5 楼
benlsoft
2009-09-10
crabboy 写道
事务怎么控制?
事务最好用全局事务,用全局事务才能保证,具体我也没有去试过。呵呵。
4 楼
crabboy
2009-07-27
事务怎么控制?
3 楼
benlsoft
2009-02-25
已经写得很清楚了,只要按这几步就可以切换不同数据源。
1.数据源要几个就配置几个,配置好了。
2.在枚举类中加下配置好的数据源键值。
3.在数据库操作时要用到某个数据源时,只需添加一句:CustomerContextHolder.setCustomerType(CustomerType.xxxx),即可(xxx代表你要切换的数据源键名)。
1.数据源要几个就配置几个,配置好了。
2.在枚举类中加下配置好的数据源键值。
3.在数据库操作时要用到某个数据源时,只需添加一句:CustomerContextHolder.setCustomerType(CustomerType.xxxx),即可(xxx代表你要切换的数据源键名)。
2 楼
心素闲
2009-02-06
我的没切换成功。
1 楼
心素闲
2009-02-06
能说得再详细些么?最近刚好要用到多数据源。
发表评论
-
spring quartz 任务调度
2011-07-07 15:29 1127最简单的配置如下:默认是一分钟执行一次 <bean i ... -
spring、hibernate等开源框架svn源码地址
2011-02-10 08:58 4069很多优秀的开源项目已经提供SVN源码签出,下面是各源码的svn ... -
eclipse启动错误:JVM terminated. Exit code=-1
2009-12-02 10:08 2213在eclipse.ini文件的开始增加下列vm的设置。下面是我 ... -
weblogic8.1的ejb服务问题
2009-09-27 10:11 1344在宁夏电信的开发中,发现在调用weblogic8.1的ejb服 ... -
3des的加解密过程
2009-09-03 22:10 2379请看代码,这是3Des最简单的加解密过程: /** * ... -
js checkbox 全选 全不选 代码
2008-12-17 14:32 2447/* *obj 当前对象(this) *cName 子选项名称 ... -
最简单的java 克隆实现
2008-09-25 17:23 5244先定义一个标准的javabean对象,并实现持久化接口 请看代 ... -
java 代理机制实现
2008-09-25 15:56 2313Proxy 模式 代理的主要类:java.lang.re ... -
js 级联下拉框的生成
2008-09-17 17:57 3848最近做页面时,碰到js级联下拉框显示的问题。先用下拉框选择大类 ... -
ant脚本(部署应用)
2008-09-04 18:27 2679最近在部署应用时,遇到一个问题,就是ant脚本登录到linux ... -
struts+spring+sitemesh下的中文乱码问题
2008-04-14 17:25 2753最近有个项目用struts+spring+sitemesh做的 ... -
spring jdbcTemplate 操作接口使用
2008-04-10 22:56 3435import java.sql.CallableState ... -
spring jdbcTemplate 实现批量更新操作接口使用
2008-04-10 22:52 16612批量更新操作使用如下代码: public int[] up ... -
struts下的分页实现
2008-04-10 13:24 1586ActionForm 基类 BaseForm的代码如下: ... -
java中的正则表达式
2007-10-29 11:00 2010如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一 ... -
spring AOP
2007-08-09 16:39 1624这是在网上发现的一篇关于Spring AOP编程的教程,读完这 ... -
Tomcat内存设置从windows服务启动不生效?
2007-08-09 16:24 8707... -
java中用URLConnection 类post方式提交表单
2007-07-02 09:43 29776/** * <pre> * Title: ... -
转贴hibernate2.1与hibernate3.0的区别
2007-03-09 16:03 4492尽管Hibernate 3.0 与Hibernate2.1的源 ... -
各种数据库的jdbc驱动下载及连接方式
2007-03-07 16:46 35135各种数据库驱动 ...
相关推荐
多数据源配置允许我们灵活地管理这些数据。 SpringBoot实现多数据源主要依靠Spring的`@Configuration`和`@DataSourceConfiguration`注解,以及Spring JDBC的`DataSource`接口。下面是一个基本的配置示例: ```java...
SpringBoot+dynamic-datasource实现多数据源(msyql、sqlserver)手动切换示例代码 https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/135701561
Jeecg是一款强大的企业级快速开发平台,它支持多数据源配置,允许用户根据业务场景灵活切换和管理不同的数据库。在Jeecg 3.5版本中,实现多数据源配置是一项重要的功能,使得开发者可以更高效地处理多数据库环境下的...
在SSM框架中实现多数据源配置,主要涉及以下几个关键步骤和知识点: 1. **配置文件设置**:首先,你需要在`applicationContext.xml`或`mybatis-config.xml`中定义多个数据源。通常,我们会使用`org.springframework...
在Spring Boot应用中,多数据源配置是一项重要的技术实践,特别是在大型系统中,可能需要连接到多个数据库以实现数据隔离、读写分离或是分布式事务管理。Spring Boot以其强大的自动化配置能力,使得设置多数据源变得...
在多数据源配置中,Spring能够帮助管理不同的数据源,通过配置bean来切换和控制数据源的使用。 **SpringMVC** 是Spring框架的一部分,专为Web开发设计。它简化了模型-视图-控制器(Model-View-Controller,MVC)的...
3. **数据源配置**:MyBatis同样需要配置多个数据源,可以通过自定义SqlSessionFactoryBean和SqlSessionTemplate来实现。 4. **动态数据源切换**:对于MyBatis,可以在SqlSessionTemplate中设置数据源,或者使用`@...
- **数据源配置类**:在Spring Boot的配置类中,使用@Configuration注解标记,定义多个数据源的@Bean。使用@ConfigurationProperties注解来绑定配置文件中的属性到数据源的Bean中,这样数据源的配置就可以从外部配置...
本示例"mysql和Oracle的多数据源配置demo"聚焦于如何在SpringBoot框架下同时集成和管理MySQL与Oracle这两种不同的数据库系统,以实现多数据源的配置。这在需要处理不同数据库类型或者需要实现数据冗余和故障切换的...
在Spring Boot应用中,多数据源配置是一项关键的技术,它允许我们同时管理多个数据库,比如主库和从库,或者不同类型的数据库。本教程将详细阐述如何在Spring Boot项目中实现这一功能,从数据源配置、实体管理到...
# 主数据源配置 spring.datasource.master.url=jdbc:postgresql://localhost:5432/postgres spring.datasource.master.username=postgress spring.datasource.master.password=postgress spring.datasource.master....
### Spring Boot多数据源配置详解 #### 一、引言 在实际的软件开发过程中,随着业务需求的多样化,单一的数据源已经无法满足所有...希望这些内容能够帮助开发者更好地理解和掌握Spring Boot多数据源配置的相关知识。
总结来说,MySQL多数据源配置是提升系统灵活性和性能的重要手段,涉及到数据库连接管理、事务控制、数据一致性等多个方面,需要开发者具备扎实的数据库理论知识和实践经验。在实际应用中,根据业务场景选择合适的...
以上就是关于"springboot多数据源切换mysql+sql server"的知识点介绍,涵盖Spring Boot的多数据源配置、数据源切换、MySQL和SQL Server的集成,以及开发环境的准备。这个示例代码为开发者提供了一个实际操作的平台,...
综上所述,"spring-boot-easy-connection-pool-master"项目提供了一种实用的解决方案,它结合了Spring Boot的便利性和多数据源的灵活性,为大数据环境下的数据访问和管理带来了极大的便利。通过深入学习和实践该项目...
# Oracle数据源配置 jdbc.driver=oracle.jdbc.OracleDriver jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:dev jdbc.username=ling jdbc.password=229 # MySQL数据源配置 jdbc-mysql.driver=com.mysql.jdbc.Driver ...
在IT行业中,数据库是应用程序的重要组成部分,而Spring Boot和Mybatis是两个常见的Java开发框架,它们简化了数据库操作和微服务...在实践中,我们还应考虑事务管理、性能优化等因素,确保多数据源配置的稳定和高效。
《Spring Boot多数据源(支持Spring声明式事务切换和回滚)》 Spring Boot多数据源技术是构建高效、灵活的多租户SaaS架构的关键。在本文中,我们将深入探讨如何实现动态数据源切换,支持Spring声明式事务管理,并讨论...
在Spring Boot和Spring Cloud的背景下,我们可以通过Spring的多数据源配置来实现这一目标。 1. **配置多数据源**:Spring Boot提供了DataSourceAutoConfiguration,它允许我们配置多个数据源。每个数据源可以有自己...
以上就是基于Spring Boot、MyBatis、Druid的多数据源配置及注解切换的详细步骤。通过这样的配置,开发者可以根据业务需求自由地在不同数据源之间切换,提高了代码的可读性和可维护性。同时,Druid连接池提供了丰富的...