之前已经把Mycat环境准备完毕,现在我们新建个Java项目,用于后面的测试。项目使用SpringBoot和Mybatis,SpringBot搭一下很容易,但是官方没有提供mybatis starter,不过maven仓库有,下面就贴一下核心配置。
Mybatis在SpringBoot中的配置
pom.xml
|
|
application.properties
|
|
mybatis-config.xml
|
|
mapper
|
|
test
|
|
一个简单的测试项目就搭建完了,项目在放在Github上,仅供参考。
Mycat全局序列号
准备插入的2000w条记录是以id mod计算的,会涉及到全局ID,所以这里要穿插讲下第二章没有讲的Mycat全局序列号,目前的版本包含本地配置和数据库配置等多种实现方式。几种方式各有优缺点,就不一一说明,但是如果有条件的话还是自己写一个独立的ID生成服务。为了测试方便,我们挑一个简单的本地文件方式来讲下。
本地文件方式
修改server.xml
在system标签下添加如下属性,0表示本地文件方式12345<system> ... <property name="sequnceHandlerType">0</property> ...</system>
配置sequence.properties文件
在conf/sequence.properties中添加如下配置:12345678#表示使用过的历史分段,一般无特殊需要课不设置ORDER.HISIDS=#最小ID值ORDER.MINID=1#最大ID值ORDER.MAXID=1000000000#当前ID值ORDER.CURID=0
代码中通过next value for MYCATSEQ_ORDER即可
本地文件方式有个很大的缺点,当Mycat重新发布后,配置文件中的sequence会恢复到初始值,但是后面经过测试,Mycat重启之后,依然能记住当前值,可能我还没理解这个重新发布的意思。