andriod 连接数据库(MySQL)

首先,直接连接数据库不能直接写在主线程内,一般写在子线程中,同时app在配置文件中还要写上请求网络的静态权限,其次注意MySQL版本和mysql-connector-java 之间的版本,mysql5.6 可以和mysql-connector-java-5.1.8等进行搭配,可以直接使用,网上很多也是mysql5.X的数据库的连接教程,但是mysql8.X的数据库我用相应的mysql-connector-java-8.0.X在进行连接时会闪退。
所以一般 mysql5.6+官网下载的mysql-connector-java-5.1.8配起来是一定可以使用的(但是首先要确保mysql可以远程连接)。

远程连接
可以通过Navicat软件通过localhost连接至数据库后点击用户选项,新建用户(不要忘记设置权限),然后将主机那一栏设置为 % 即可进行‘远程访问’,点击连接,输入用户名密码和本地网络ip地址即可连接成功。当然还有更详细的,在百度上。

设置网络权限(在AndroidManifest.xnm中写上)

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

测试成功的垃圾 测试代码(java)

new Thread(new Runnable() {
                    @Override
                    public void run() {
                        String CLS="com.mysql.jdbc.Driver";
                        String URL="jdbc:mysql://IP地址:3306/数据库名?serverTimezone=UTC";
                        String USER="数据库用户名";
                        String PWD="数据库密码";
                        String test="";
                        try {
                            Class.forName(CLS).newInstance();
                            Connection conn=(Connection) DriverManager.getConnection(URL,USER,PWD);
                            String sql="要执行的sql语句";
                            Statement stmt=conn.createStatement();
                            ResultSet rs=stmt.executeQuery(sql);
                            while (rs.next()){
                                test+=rs.getString("name");
                                Log.v("debug","AAAA");
                                Log.v("debug",test);
                            }
                        } catch (ClassNotFoundException | SQLException | IllegalAccessException | InstantiationException e) {
                            e.printStackTrace();
                        }
                    }
                }).start();

记录。

更多推荐

andriod 连接数据库(MySQL)