質問

MyBatisでマスター/スレーブMySQLレプリケーションデータベースをどのように使用できるのか疑問に思っています。 JDBCはaを提供します com.mysql.jdbc.ReplicationDriver (見る ここ)、しかし、設定できるすべての素晴らしいプロパティを含む同様のものをどこで使用できるかを見つけることができませんでした(roundrobinloadbalance, AutoreConnect、...)mybatisで。

現在、私はこのような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>

誰かが私のためにヒントを持っていますか?

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

ダニエル

役に立ちましたか?

解決

別の可能な答え

気付いた場合、ドライバーの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>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top