在使用tddl 以前首選安裝 配置diamondmysql
基本信息說明
appName=pay
groupKey=groupKey
dbKey=andor_qatest 備註 dbkey 爲數據庫名稱
dbType=mysql
dbUserName=tddlsql
一 .動態數據源配置數據庫
TGroupDataSource 的配置
一、配置讀寫分離權重:
com.taobao.tddl.jdbc.group_V2.4.1_ 「 groupKey 」
例子:
com.taobao.tddl.jdbc.group_V2.4.1_groupKey
配置內容以下
andor_qatest:r10w10app
TAtomDataSource 的配置(由 3 部分組成, global 、 app 、 user )atom
一、基本數據源信息 (global) :
com.taobao.tddl.atom.global. 「 dbKey 」
例子:
com.taobao.tddl.atom.global.andor_qatest
配置內容以下
ip=127.0.0.1
port=3306
dbName=andor_qatest
dbType=mysql
dbStatus=RWserver
二、數據庫鏈接信息( app ,若是不配置時間單位,缺省爲分鐘):
com.taobao.tddl.atom.app. 「 appName 」 . 「 dbKey 」
例子:
com.taobao.tddl.atom.app.pay.andor_qatest
配置內容以下
userName=tddl
minPoolSize=1
maxPoolSize=2
idleTimeout=10
blockingTimeout=1000
preparedStatementCacheSize=15
connectionProperties=characterEncoding=utf-8xml
三、數據庫密碼信息 (user) :
此處的dbKey 爲dbName
com.taobao.tddl.atom.passwd. 「 dbKey 」 . 「 dbType 」 . 「 dbUserName 」
例子:
com.taobao.tddl.atom.passwd.andor_qatest.mysql.tddl
配置內容以下
encPasswd=tddlip
4.配置server_topology.xmlutf-8
樣例
<group name="groupKey" type="MYSQL_JDBC">
</group>rem
5.配置mysql_schema.xml
樣例
<table name="tddl">
<columns>
<column name="id" type="long"/>
<column name="create_time" type="timestamp"/>
<column name="update_time" type="timestamp"/>
<column name="error_info" type="string"/>
<column name="notify_num" type="int"/>
<column name="status" type="int"/>
<column name="next_time" type="timestamp"/>
<column name="notify_type" type="int"/>
<column name="notify_params" type="string"/>
<column name="remark" type="string"/>
</columns>
<primaryKey>id</primaryKey>
</table>
6.配置rule.xml
樣例
<beans>
<bean id="vtabroot" class="com.taobao.tddl.rule.VirtualTableRoot"
init-method="init">
<property name="dbType" value="MYSQL"/>
<property name="lazyInit" value="true"/>
<property name="tableRules">
<map>
<!-- 一個group 多個atom -->
<entry key="tddl" value-ref="tddl"/>
</map>
</property>
</bean>
<!-- ===========================================mysql group============================================= -->
<bean id="tddl" class="com.taobao.tddl.rule.TableRule">
<property name="allowFullTableScan" value="true"/>
<!-- 此處爲 server_topology.xml 中的group name-->
<property name="dbNamePattern" value="groupKey"/>
<property name="tbRules" value="Math.abs(Long.valueOf(#id,1,4#)) % 4"/>
<property name="tbNamePattern" value="tddl_{00}"/>
</bean>
7.配置TDataSource 以下
樣例 <bean id="dataSource" class="com.taobao.tddl.matrix.jdbc.TDataSource" init-method="init"> <property name="appName" value="pay"/> <property name="ruleFile" value="matrix/mysql_rule.xml"/> <property name="topologyFile" value="matrix/server_topology.xml"/> <property name="schemaFile" value="matrix/mysql_schema.xml"/> </bean>