Использование репликации MySQL (Master/Slave) с mybatis
-
27-10-2019 - |
Вопрос
Мне просто интересно, как я могу использовать базу данных репликации MySQL Master/Slave с Mybatis. JDBC предлагает 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. Итак, я не удивлюсь, если бы Мибатис просто взял их и передал их прямо в водителя. Так что, возможно, попробуйте это:
<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>