mybatisでmysqlレプリケーション(マスター/スレーブ)を使用する
-
27-10-2019 - |
質問
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>
所属していません StackOverflow