一、设置远程mySql受权
在mysql命令行中受权代码:java
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'124.94.194.195' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
其中:
myuser 表示访问mysql的本地用户(能够随便写,不须要本地建立);
124.94.194.195 表示本地计算机的IP公网地址;
mypassword 表示访问mysql的本地密码(能够随便写,不须要本地建立);
JDBC链接代码:
对于JDBC代码只须要改动开头声明就能够:mysql
private final String dbDrive="com.mysql.jdbc.Driver";
private final String url = "jdbc:mysql://124.94.194.195:3306/须要访问的数据库名";
private final String userName = "myuer";
private final String password = "myPassword";
private Connection con = null;
如图为JDBC完整代码:
package ldxy.xxxy;//此处需改为本身的包名
import java.sql.*;
public class JDBConnection {
private final String dbDrive="com.mysql.jdbc.Driver";
private final String url = "jdbc:mysql://124.94.194.195:3306/须要访问的数据库名";
private final String userName = "myuer";
private final String password = "myPassword";
private Connection con = null;
//经过构造方法加载数据库驱动
public JDBConnection() {
try {
Class.forName(dbDrive).newInstance();
} catch (Exception ex) {
System.out.println("数据库加载失败");
}
}
//建立数据库链接
public boolean creatConnection() {
try {
con = DriverManager.getConnection(url, userName, password);
con.setAutoCommit(true);
} catch (SQLException e) {
System.out.println(e.getMessage());
System.out.println("creatConnectionError!");
}
return true;
}
//对数据库的增长、修改和删除的操做
public boolean executeUpdate(String sql) {
if (con == null) {
creatConnection();
}
try {
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
int iCount = stmt.executeUpdate(sql);
System.out.println("操做成功,所影响的记录数为" + String.valueOf(iCount));
return true;
} catch (SQLException e) {
System.out.println(e.getMessage());
return false;
}
}
//对数据库的查询操做
public ResultSet executeQuery(String sql) {
ResultSet rs;
try {
if (con == null) {
creatConnection();
}
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
System.out.println(e.getMessage());
return null;
}
} catch (SQLException e) {
System.out.println(e.getMessage());
System.out.println("executeQueryError!");
return null;
}
return rs;
}
//关闭数据库
public void closeConnection(){
if(con==null){
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}