Skip to content
Justice-love edited this page Jun 17, 2017 · 1 revision

节点配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE rules SYSTEM "../config/config.dtd">
<rules>
    <rule table="user" column="id" javaType="java.lang.Integer" class="org.eddy.xml.rule.impl.UserComparator">
        <data schema="schema1" table="user" script="1 == param"/>
        <data schema="schema2" table="user" script="2 == param"/>
        <data schema="schema3" table="user" script="3 == param"/>
        <data schema="schema4" table="user" script="4 == param"/>
    </rule>
    <rule table="sale_order" column="order_id" javaType="java.lang.String" class="org.eddy.xml.rule.impl.DefaultComparator">
        <data schema="test" table="sale_order" script="'order_id'.equals(param)"/>
    </rule>
</rules>
  • rules: 根节点。
  • rule: 匹配一张做了分库分表的数据库表。
    • table: 匹配待执行的sql中的数据库表。
    • column: 关键列,用来路由实际的数据库表。
    • javaType: 关键列java数据类型。
    • class: 自定义比较器
  • data: 匹配一个实际的数据节点。
    • schema: 匹配实际节点的schema。
    • table: 匹配实际节点的表名。
    • script: 数据节点对应的路由规则(groovy表达式)。

Clone this wiki locally