【代码实践】用Android Studio连接MySQL时遇到的问题(1)

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
原创文章 6 获赞 4 访问量 2530

猜你喜欢

转载自blog.csdn.net/Elivyxy/article/details/83548080