【MySQL集群】——Java程序連接MySQL集群
阿新 • • 發佈:2017-06-11
manager jdbc rda catch exe 連接 text 個數 trac
上篇簡介了怎樣在Windows環境下建立配置MySQL集群,這裏用一個實現註冊功能的小Demo通過jdbc的方式連接到MySQL集群中。
外部程序想要遠程連接到mysql集群,還須要做的一個操作就是設置sql節點的mysql能夠被遠程連接。
詳細操作為:
mysql> grant all privileges on MySQL_Cluster_Test.* to root@‘%‘ identified by ‘‘;
mysql> flush privileges;
表示將MySQL_Cluster_Test這個數據庫中全部的表授權給全部機器,登錄名為root。password為空。假設僅僅指定某臺機器能夠連接此數據節點。那把“%”換成對應IP就可以。
UserDAO代碼:
public class UserDAO{
/**
* 加入用戶
* @param name username
* @param age 用戶年齡
* @return
*/
public boolean AddUser(String name,int age){
boolean result=false;//返回值默覺得false
Connection conn=null;//創建數據庫連接對象Connection
PreparedStatement pstmt=null ;//創建預處理對象PreparedStatement
try {
//註冊驅動
Class.forName("com.mysql.jdbc.Driver");
//建立連接
conn=DriverManager.getConnection("jdbc:mysql://192.168.25.48:3306/MySQL_Cluster_Test","root","");
}catch (Exception e){
e.printStackTrace();
}
try {
String sql="insert into T_User (Name,Age) values(?,?)";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setInt(2, age);
int count=pstmt.executeUpdate(); //更新數據庫並返回受影響行數
if(count>0){
result=true;
}
}catch(Exception e){
e.printStackTrace();
}
return result;
}
/**
* 查詢全部用戶
* @return List<User>
*/
public List<User> QueryAllUsers(){
List<User> userList=new ArrayList<User>();
Connection conn=null;
Statement stmt=null;
try {
//註冊驅動
Class.forName("com.mysql.jdbc.Driver");
//建立連接
conn=DriverManager.getConnection("jdbc:mysql://192.168.25.48:3306/MySQL_Cluster_Test","root","");
}catch (Exception e){
e.printStackTrace();
}
try {
String sql = "select * from T_User";
stmt=conn.createStatement();
ResultSet rs =stmt.executeQuery(sql);
while(rs.next()){
User tmpUser=new User();
tmpUser.setName(rs.getString("Name"));
tmpUser.setAge(rs.getInt("Age"));
userList.add(tmpUser);
}
} catch (SQLException e) {
e.printStackTrace();
}
return userList;
}
}
假設前面的MySQL集群配置好的話,就能夠實現多個server上公布的外部程序都能夠共享、操作整個集群中的數據。
但此時的MySQL集群還無法實現負載均衡和讀寫分離的效果,僅僅起到了數據備份的作用。
後面將繼續研究怎樣實現MySQL集群的負載均衡和讀寫分離。
(以上僅僅是主要代碼,假設須要整個項目,能夠點擊【下載地址】下載源代碼)
【MySQL集群】——Java程序連接MySQL集群