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 slaves
15     props.put("autoReconnect", "true");
16  
17     // We want to load balance between the slaves
18     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 a
25     // comma-separated list of hosts, the first
26     // being the 'master', the rest being any number
27     // of slaves that the driver will load balance against
28     //
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 master
36     // 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 one
46     // from the list
47     //
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

posted @ 2014-07-14 11:41  悟寰轩-叶秋  阅读(3956)  评论(0编辑  收藏  举报