假设有两台数据库服务器:192.168.0.1(写) 和192.168.0.2(读)
那么在applicationContext.xml中应配置两个数据源,一个读,一个写:
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"
/>
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"
/>
然后在dao.java中配置两个jdbcTemplate:
@Autowired
private JdbcTemplate template;
@Autowired
private JdbcTemplate templateRead;
读操作的时候用templateRead,写操作的时候用template
ps:数据库的同步操作将在后续贴出