首页 > 代码库 > MySQL 读写分离 使用驱动com.mysql.jdbc.ReplicationDriver

MySQL 读写分离 使用驱动com.mysql.jdbc.ReplicationDriver

说明文档:http://dev.mysql.com/doc/refman/5.1/en/connector-j-reference-replication-connection.html

 

代码例子:

 1 import java.sql.Connection; 2 import java.sql.ResultSet; 3 import java.util.Properties; 4   5 import com.mysql.jdbc.ReplicationDriver; 6   7 public class ReplicationDriverDemo { 8   9   public static void main(String[] args) throws Exception {10     ReplicationDriver driver = new ReplicationDriver();11  12     Properties props = new Properties();13  14     // We want this for failover on the slaves15     props.put("autoReconnect", "true");16  17     // We want to load balance between the slaves18     props.put("roundRobinLoadBalance", "true");19  20     props.put("user", "foo");21     props.put("password", "bar");22  23     //24     // Looks like a normal MySQL JDBC url, with a25     // comma-separated list of hosts, the first26     // being the ‘master‘, the rest being any number27     // of slaves that the driver will load balance against28     //29  30     Connection conn =31         driver.connect("jdbc:mysql:replication://master,slave1,slave2,slave3/test",32             props);33  34     //35     // Perform read/write work on the master36     // by setting the read-only flag to "false"37     //38  39     conn.setReadOnly(false);40     conn.setAutoCommit(false);41     conn.createStatement().executeUpdate("UPDATE some_table ....");42     conn.commit();43  44     //45     // Now, do a query from a slave, the driver automatically picks one46     // from the list47     //48  49     conn.setReadOnly(true);50  51     ResultSet rs =52       conn.createStatement().executeQuery("SELECT a,b FROM alt_table");53  54      .......55   }56 }

 

来自:http://www.cnblogs.com/taven/archive/2013/04/24/3040489.html