Вопрос

Мне просто интересно, как я могу использовать базу данных репликации 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top