1.首先根据 https://blog.csdn.net/jakera/article/details/73694674 进行连接
2.根据 https://blog.csdn.net/lijava2002/article/details/78938462 进行补充
3.
new Thread(new Runnable() {
@Override
public void run() {
try {
Log.i("**********:","Test2");
Class.forName("com.mysql.jdbc.Driver");
Log.i("**********:","Test3");
String url = "jdbc:mysql://localhost:3306/booklist";
Connection cn = DriverManager.getConnection(url,"root","123");
Log.i("**********:","Test4");
String sql = "select * from user";
Statement st = (Statement)cn.createStatement();
Log.i("**********:","Test5");
ResultSet rs = st.executeQuery(sql);
Log.i("**********:","Test6");
while(rs.next()) {
String user = rs.getString("userID");
Log.i("***********:",user);
}
cn.close();
st.close();
rs.close();
} catch (ClassNotFoundException e) {
Log.i("**********:","Test7");
e.printStackTrace();
} catch (SQLException e) {
Log.i("**********:","Test8");
e.printStackTrace();
Log.i("**********:","Test9");
}
}
});
根据这个发现代码根本不进入子线程,后来发现要在末尾加上“.start()”,即
new Thread(new Runnable() {
@Override
public void run() {
try {
Log.i("**********:","Test2");
Class.forName("com.mysql.jdbc.Driver");
Log.i("**********:","Test3");
String url = "jdbc:mysql://localhost:3306/booklist";
Connection cn = DriverManager.getConnection(url,"root","123");
Log.i("**********:","Test4");
String sql = "select * from user";
Statement st = (Statement)cn.createStatement();
Log.i("**********:","Test5");
ResultSet rs = st.executeQuery(sql);
Log.i("**********:","Test6");
while(rs.next()) {
String user = rs.getString("userID");
Log.i("***********:",user);
}
cn.close();
st.close();
rs.close();
} catch (ClassNotFoundException e) {
Log.i("**********:","Test7");
e.printStackTrace();
} catch (SQLException e) {
Log.i("**********:","Test8");
e.printStackTrace();
Log.i("**********:","Test9");
}
}
}).start();
4.
10-30 12:17:55.754 889-889/com.example.elivyxy.booklist I/**********:: Test1
10-30 12:17:55.756 889-930/com.example.elivyxy.booklist I/**********:: Test2
10-30 12:17:56.102 889-930/com.example.elivyxy.booklist I/**********:: Test3
10-30 12:17:56.556 889-930/com.example.elivyxy.booklist I/**********:: Test8
10-30 12:17:56.570 889-930/com.example.elivyxy.booklist I/**********:: Test9
根据我上面的日志很容易发现
Connection cn = DriverManager.getConnection(url,"root","123");
这玩意没执行,上网查资料,改了什么时间啊,换了包啊之类的都不行,最后ipconfig了一下自己的ip,将URL中的localhost改成了本机的IP地址就可以了
10-30 12:22:30.408 1105-1105/com.example.elivyxy.booklist I/**********:: Test1
10-30 12:22:30.413 1105-1140/com.example.elivyxy.booklist I/**********:: Test2
10-30 12:22:30.714 1105-1140/com.example.elivyxy.booklist I/**********:: Test3
10-30 12:22:31.226 1105-1140/com.example.elivyxy.booklist I/**********:: Test4
10-30 12:22:31.226 1105-1140/com.example.elivyxy.booklist I/**********:: Test5
10-30 12:22:31.230 1105-1140/com.example.elivyxy.booklist I/**********:: Test6
10-30 12:22:31.232 1105-1140/com.example.elivyxy.booklist I/***********:: 1