3.10
所花时间:4小时
代码量:83
博客篇:1
了解到的知识点
之前一直报错,连接不上,原因是我的mysql没有远程访问权限
mysql数据库的连接:
在xml添加网络访问权限
<uses-permission android:name="android.permission.INTERNET" />
然后创建方法mymysql()
在oncreate()中调用该方法,完成数据库的访问
package com.example.myapplication;
import android.util.Log;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Dao {
public String sel1() throws Exception {
Connection conn = (Connection) DBHelpOpen.getConn();
String sql1 = "select * from cal1";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql1);
String s;
rs.next();
s = rs.getString(2);
stmt.close();
conn.close();
return s;
}
private static final String TAG = "mysql11111";
java.sql.Connection conn = null;
public static void mymysql() {
final Thread thread = new Thread(new Runnable() {
@Override
public void run() {
while (!Thread.interrupted()) {
try {
Thread.sleep(100); // 每隔0.1秒尝试连接
} catch (InterruptedException e) {
Log.e(TAG, e.toString());
}
// 1.加载JDBC驱动
try {
Class.forName("com.mysql.jdbc.Driver");
Log.v(TAG, "加载JDBC驱动成功");
} catch (ClassNotFoundException e) {
Log.e(TAG, "加载JDBC驱动失败");
return;
}
// 2.设置好IP/端口/数据库名/用户名/密码等必要的连接信息
String ip = "192.168.218.224";
int port = 3306;
String dbName = "db1";
String url = "jdbc:mysql://" + ip + ":" + port
+ "/" + dbName+"?useUnicode=true&characterEncoding=utf-8&useSSL=false";
// 构建连接mysql的字符串
String user = "root";
String password = "1234";
String s;
// 3.连接JDBC
try {
java.sql.Connection conn = DriverManager.getConnection(url, user, password);
Log.d(TAG, "数据库连接成功");
String sql1 = "select * from cal1";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql1);
rs.next();
s = rs.getString(2);
Log.d(TAG, s);
stmt.close();
conn.close();
return;
} catch (SQLException e) {
Log.e(TAG, e.getMessage());
}
}
}
});
thread.start();
}
}

浙公网安备 33010602011771号