1

MyBatis でマスター/スレーブ MySQL レプリケーション データベースをどのように使用できるか疑問に思っています。JDBC はcom.mysql.jdbc.ReplicationDriver(こちらを参照) を提供していますが、MyBatis で構成できるすべての優れたプロパティ ( roundRobinLoadBalanceautoReconnectなど)を含む同様のものをどこで使用できるかを見つけることができませんでした。

現在、MyBatis でレプリケートされていないデータベースを次のように構成しています。

<environments default="development">
    <environment id="development">
        <transactionManager type="JDBC" />
        <dataSource type="POOLED">
            <property name="driver" value="com.mysql.jdbc.Driver" />
            <property name="url"
                value="jdbc:mysql://localhost:3306/database" />
            <property name="username" value="root" />
            <property name="password" value="" />
        </dataSource>
    </environment>
    <environment id="production">
        <transactionManager type="JDBC" />
        <dataSource type="POOLED">
            <property name="driver" value="com.mysql.jdbc.Driver" />
            <property name="url"
                value="jdbc:mysql://xxx:3306/database" />
            <property name="username" value="production" />
            <property name="password" value="" />
        </dataSource>
    </environment>
</environments>

誰か私にヒントがありますか?

ご協力いただきありがとうございます。

ダニエル

4

1 に答える 1

1

別の可能な答え

お気付きかもしれませんが、ドライバーの xml で設定しているプロパティは、設定されて jdbc に渡される共通のプロパティでもあります。ですから、MyBatis がそれらをそのままドライバーに渡していたとしても、私は驚かないでしょう。だから多分これを試してください:

<environments default="development">
    <environment id="development">
        <transactionManager type="JDBC" />
        <dataSource type="POOLED">
            <!-- Just use ReplicationDriver -->
            <property name="driver" value="com.mysql.jdbc.ReplicationDriver" />
            <property name="url"
                value="jdbc:mysql://localhost:3306/database" />
            <property name="autoReconnect" value="true" />
            <property name="roundRobinLoadBalance" value="true" />
            <property name="username" value="root" />
            <property name="password" value="" />
        </dataSource>
    </environment>
    <environment id="production">
        <transactionManager type="JDBC" />
        <dataSource type="POOLED">
            <!-- Just use ReplicationDriver -->
            <property name="driver" value="com.mysql.jdbc.ReplicationDriver" />
            <property name="url"
                value="jdbc:mysql://xxx:3306/database" />
            <property name="autoReconnect" value="true" />
            <property name="roundRobinLoadBalance" value="true" />
            <property name="username" value="production" />
            <property name="password" value="" />
        </dataSource>
    </environment>
</environments>
于 2011-04-29T15:58:32.470 に答える