ha-jdbc入门demo

ha-jdbc干什么就不介绍了,请直接移步官方网站。
运行本demo,需要在mysql中创建如下表:

CREATE TABLE `account` (
`ACC_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`ACC_FIRST_NAME` varchar(50) COLLATE utf8_bin DEFAULT NULL,
`ACC_LAST_NAME` varchar(50) COLLATE utf8_bin DEFAULT NULL,
`ACC_EMAIL` varchar(50) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (`ACC_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COLLATE=utf8_bin

注意两个数据库中的表都要建立。下面我在本地数据库中创建了2个数据库,一个是zyl,另一个zylxc。两个数据库中都用上面的语句初始化数据库表。

下面是ha-jdbc-claster.xml配置:

<ha-jdbc>
<!--<distributable config="" stack="sequencer" /> -->
<sync id="diff" class="net.sf.hajdbc.sync.DifferentialSynchronizationStrategy" >
<property name="fetchSize">1000</property>
<property name="maxBatchSize">100</property>
</sync>
<cluster default-sync="diff" balancer="load" meta-data-cache="none"
dialect="net.sf.hajdbc.dialect.MySQLDialect"
transaction-mode="parallel"
auto-activate-schedule="0 * * ? * *"
failure-detectschedule="0 * * ? * *">
<datasource id="database1">
<name>org.apache.commons.dbcp.BasicDataSource</name>
<property name="defaultReadOnly">false</property>
<property name="url">jdbc:mysql://localhost:3306/zyl</property>
<property name="validationQuery">SELECT 1</property>
<property name="username">root</property>
<property name="password">123456</property>
<property name="maxIdle">3</property>
<property name="maxActive">15</property>
<property name="driverClassName">com.mysql.jdbc.Driver</property>
<property name="minIdle">5</property>
<property name="defaultAutoCommit">true</property>
<property name="testOnBorrow">true</property>
<property name="initialSize">5</property>
</datasource>
<datasource id="database2">
<name>org.apache.commons.dbcp.BasicDataSource</name>
<property name="defaultReadOnly">false</property>
<property name="url">jdbc:mysql://localhost:3306/zylxc</property>
<property name="validationQuery">SELECT 1</property>
<property name="username">root</property>
<property name="password">123456</property>
<property name="maxIdle">3</property>
<property name="maxActive">15</property>
<property name="driverClassName">com.mysql.jdbc.Driver</property>
<property name="minIdle">5</property>
<property name="defaultAutoCommit">true</property>
<property name="testOnBorrow">true</property>
<property name="initialSize">5</property>
</datasource>
</cluster>
</ha-jdbc>


使用springMVC进行测试,测试代码:

@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
Account a = new Account();
a.setFirstName("zhang");
a.setLastName("yuliang");
//插入一条记录
accountDao.insert(a);
//查询刚刚插入的记录,这里只取一条
List<Account> list = accountDao.getAccountListByAccount(a);
request.setAttribute("account", list.get(0));
//更新刚刚插入的记录
a.setId(a.getId());
a.setLastName("san");
accountDao.update(a);

return new ModelAndView("index");
}

在上面的测试代码中您可以选择注释后分别一条一条进行测试,您会看到2个数据库中的表进行了同步,如果数据库不在一台机器上面,您可以随意停掉其中一台mysql,然后重启后,新插入的数据会进行自动同步过去。spring mvc其它废话少说,直接上demo附件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值