Question

Je me demande comment je peux utiliser une base de données de réplication MySQL maître / esclave avec mybatis. JDBC offre un com.mysql.jdbc.ReplicationDriver (voir ici ), mais je ne pouvais pas savoir où je peux utiliser des choses similaires, y compris toutes les propriétés que je peux configurer belles ( roundRobinLoadBalance , autoreconnect , ...) à mybatis .

Actuellement, j'ai configuré ma base de données none répliqué dans mybatis comme ceci:

<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>

Quelqu'un at-il un un indice pour moi?

Merci pour votre aide.

Daniel

Était-ce utile?

La solution

AUTRE REPONSE

Si vous remarquez, les propriétés vous définissez dans le fichier XML pour le pilote sont également des propriétés communes définies et transmises à jdbc. Donc, je ne serais pas surpris si mybatis était juste de les prendre et de les transmettre à droite dans le conducteur. Alors peut-être essayer ceci:

<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top