假设有两台数据库服务器:192.168.0.1(写) 和192.168.0.2(读)
那么在applicationContext.xml中应配置两个数据源,一个读,一个写:
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close" init-method="init" lazy-init="false" p:url="${datasource.url}" p:username="${datasource.username}" p:password="${datasource.password}" p:maxActive="200" p:minIdle="50" p:maxWait="10000" p:testWhileIdle="true" p:validationQuery="select sysdate()" p:filters="stat" /> <bean id="template" class="org.springframework.jdbc.core.JdbcTemplate" p:dataSource-ref="dataSource" /> <bean id="dataSource1" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close" init-method="init" lazy-init="false" p:url="${datasource.read.url}" p:username="${datasource.read.username}" p:password="${datasource.read.password}" p:maxActive="200" p:minIdle="50" p:maxWait="10000" p:testWhileIdle="true" p:validationQuery="select sysdate()" p:filters="stat" /> <bean id="templateRead" class="org.springframework.jdbc.core.JdbcTemplate" p:dataSource-ref="dataSource1" />
然后在dao.java中配置两个jdbcTemplate:
@Autowired private JdbcTemplate template; @Autowired private JdbcTemplate templateRead;
读操作的时候用templateRead,写操作的时候用template
ps:数据库的同步操作将在后续贴出
相关推荐
JAVA数据库读写分离项目源码(MYSQL),非常详细的注解,ssm框架开发,能使你快速掌握读写分离技术!!!
java mysql 读写分离demo mybatis作为数据库访问层,实现数据库读写分离的解决方案
使用JAVA aop技术,实现mysql 数据库读写分离(密码:111111)
最近项目要支持读写分离, 网上找了很多,但都是不太完整,我自己整理了下供大家参考。 我的项目使用的框架: springMvc+spring+hibernate+springJPA+maven, 数据库连接池用阿里的druid。
读写分离就是对于一条SQL该选择哪一个数据库去执行,至于谁来做选择数据库这件事,有两个,要么使用中间件帮我们做,要么程序自己做。一般来说,读写分离有两种实现方式。第一种是依靠中间件MyCat,也就是说应用程序...
在应用层通过spring特性解决数据库读写分离代码
springboot+mybatis: 1,yml配置多个数据源 2,数据库主从配置 3,分包形式处理读写分离
amoeba是阿里开发的一款数据库读写分离的项目(读写分离只是它的一个小功能),由于是基于java编写的,所以运行环境需要安装jdk; 前期准备工作: 1.两个数据库,一主一从,主从同步; master: 172.22.10.237:3306 ...
Java面试题72:数据库的读写分离.mp4
数据库读写分离实现方法
通过配置数据库链接池、虚拟服务器,实现读取的负载均衡; 需安装java SE 1.6并配置环境变量(Amoeba框架是基于Java SE1.5开发的,建议使用Java SE 1.5版本。 目前Amoeba经验证在JavaTM SE 1.5和Java SE 1.6能正常...
安装amoeba
该案例中采用主从数据库,主数据写,从数据负责读取,实现了读写分离
我感觉很不错的技术文档,现在和大家分享,希望能够帮到大家,如果你需要可以下载看看,很适合喜欢研究技术的人员
淘宝根据自己的业务特点开发了TDDL框架,主要解决了分库分表对应用的透明化以及异构数据库之间的数据复制,它是一个基于集中式配置的 jdbc datasource实现,具有主备,读写分离,动态数据库配置等功能
前言 Redis是一种NoSQL的文档数据库,通过key-value的结构存储在内存中,Redis读的...在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++(hiredis),C#,PHP,JavaScript,Perl,Object-C,Python,
读写分离插,多数据源,数据库记录合并,支持事物。spring mybatis
https://mp.csdn.net/console/uploadResources?spm=1011.2124.3001.4171
2018数据库直播大讲堂峰会-Redis专场阿里云Redis开发者午光对Redis读写分离进行介绍的PPT。
shawn-rwdbspring+mybatis实现数据库读写分离如果你的后台结构是spring+mybatis,可以通过spring的AbstractRoutingDataSource和mybatis Plugin拦截器实现非常友好的读写分离,原有代码不需要任何改变。