工具
- mysql
- mysql-connector-java-5.1.36(jdbc引擎)
- android studio
工具连接 link
mysql推荐5.7版,这样mysql-connector-java、android sdk三者之间兼容性好。
mysql
- 打开安装包一直next
- root 的 from host 改为%
android
- 导入mysql-connector-java-5.1.36包
- 导入工具类(仅实现连接、读取数据)
package com.yang.mysql.mysql;
import android.util.Log;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class MySQLService {
private String url="jdbc:mysql://192.168.43.136:3306/数据库名?useSSL=false&serverTimezone=UTC";//
private String user="root";//your user name
private String password="yang";//your password
PreparedStatement statement;
Connection conn = null;
//只连接
public Connection getConnection(final String url,final String user,final String password){
new Thread(new Runnable() {
@Override
public void run() {
//连接数据库
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,user,password);
if(conn!=null) {
Log.e("yang","连接成功");
}
} catch (SQLException e) {
e.printStackTrace();
Log.e("error","sql error");
} catch (ClassNotFoundException e) {
e.printStackTrace();
Log.e("error","class");
}
}
}).start();
return conn;
}
//连接数据库
private void getConn(){
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,user,password);
if(conn!=null) {
Log.e("yang","连接成功");
}
} catch (SQLException e) {
e.printStackTrace();
Log.e("error","sql error");
} catch (ClassNotFoundException e) {
e.printStackTrace();
Log.e("error","class");
}
}
//获取数据库内容
public ResultSet getTable(String sql){//sql为mysql语句
ResultSet resultSet=null;
if(conn==null)
getConn();
try {
statement=conn.prepareStatement(sql);
Log.e("yang","连接成功");
resultSet=statement.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return resultSet;
}
}
- 调用示例(注意一定开线程调用)
new Thread(new Runnable() {
@Override
public void run() {
MySQLService mySQLService =new MySQLService();
String sql = "SELECT*from user";
ResultSet resultSet=mySQLService.getTable(sql);
try {
while(resultSet.next()){
String oneText="学号:"+resultSet.getString("Snum")
+"\n姓名:"+resultSet.getString("Sname")+"\n";
text+=oneText;
}
} catch (SQLException e) {
e.printStackTrace();
}
handler.sendEmptyMessage(0);
}
}).start();
来源:https://blog.csdn.net/The_Only_God/article/details/99671864