jdbc java遠程連接mysql數據庫服務器


首先,需要注意以下幾點:

1、手機需要獲得可以訪問網絡的權限;

2、導入的jdbc驅動的版本需要與mysql服務器的版本相近:

3、mysql默認的訪客是只允許本機(localhost),不允許其他主機運程訪問,需要修改為所有主機,在命令行進行操作:

mysql -u用戶名 -p密碼
mysql>use mysql; mysql>select 'host' from user where user='root'; mysql>update user set host = '%' where user = 'root';

 其中,%表示所有的主機

4、進行連接操作時需要新開線程;

5、編碼問題,mysql中表的編碼要與連接的編碼方式相同:

 

連接操作:

1、設置主機、用戶名、密碼、連接方式等:

    static private String connectString = "jdbc:mysql://192.168.199.228:3306/yang_project"
        + "?autoReconnect=true&useUnicode=true&useSSL=false"
        + "&characterEncoding=utf-8&serverTimezone=UTC";
    static private String  sql_user="root";
    static private String  sql_pwd="123456";

2、導入jdbc驅動包,並將相關的類引入代碼文件:

try {
     Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
     e.printStackTrace();
}

3、建立連接(需要在新線程中):

new Thread(){
    public void run(){
        try {
            Connection con = DriverManager.getConnection(connectString, sql_user, sql_pwd);
            con.close();
        } catch (SQLException e) { //連接失敗
            e.printStackTrace();
        }
    }
}.start();

 

 增刪查改(需要新線程和try/catch):

1、增

Connection con = DriverManager.getConnection(connectString, sql_user, sql_pwd);
Statement stmt=con.createStatement();
String InsertString = "insert into user(user_name, user_password, user_age, user_height, user_weight, user_sex, user_info) " +
            "values('"+name.getText().toString()+
            "', '"+password.getText().toString()+
            "', '"+age.getText().toString()+
            "', '"+height.getText().toString()+
            "', '"+weight.getText().toString()+
            "', '"+sexType+
            "', '"+info.getText().toString()+"');";
int i = stmt.executeUpdate(InsertString);
con.close();
stmt.close();

2、刪

String DeleteString = "delete from steps where user_name = '"+myname+"' and steps_date = '"+delete_date+"';";
int i = stmt.executeUpdate(DeleteString);

3、查

QueryString = "select * from steps where user_name = '"+myname+"' order by steps_date DESC;";
ResultSet rs = stmt.executeQuery(QueryString); while(rs.next()){ steps_date = rs.getString("steps_date"); steps_number = rs.getString("steps_number"); }

4、改

String QueryString = "update user set user_height = '"+myheight +"' where user_name = '"+myname+"';";
int i = stmt.executeUpdate(QueryString);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM