我只是想知道如何使用带有MySQL的主/从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>
有人给我个提示吗?
谢谢你的帮助。
丹尼尔
发布于 2011-04-29 07:58:32
另一个可能的答案
如果您注意到,在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>
https://stackoverflow.com/questions/5834046
复制