Android Studio连接Mysql数据库步骤以及常见错误

本文介绍了如何通过JDBC在Android Studio中连接MySQL数据库,包括安装MySQL、使用Navicat管理数据库,以及编写Java连接代码。在过程中遇到了几个常见错误,如不支持操作错误、通信链接失败和PublicKeyRetrieval错误,并提供了相应的解决方案。通过降低mysql-connector版本、禁用SSL和允许PublicKeyRetrieval解决了问题。
摘要由CSDN通过智能技术生成

1.先把Mysql给下好,环境变量也配置好,这里我就不说了

2.下载好Navicat for Mysql软件,管理数据库

3.进入Android Studio创建一个类,写好连接数据库的代码

我们采用的是常用的JDBC方法来连接,需要的jar包有mysql-connector-java-5.1.49.jar,其他版本的下载地址在这里
代码如下:

package com.example.linktest;

import android.util.Log;

import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection;
public class DBUtils {
    private String url="jdbc:mysql://a.b.c.d:3306/user_info?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8";
    /*a.b.c.d是你电脑的IP地址,可以在命令行里输入ipconfig查看*/
    /*user_info是你的数据库名字*/
    private String user="root";/*数据库用户名*/
    private String password="666666";/*进入数据库的密码*/
    private Connection conn=null;
    public void linkDatabase()
    {
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Log.i("msg","连接");
                    Class.forName("com.mysql.jdbc.Driver");
                    conn = (DriverManager.getConnection(url,user,password));
                    if(conn!=null)
                    {
                        Log.i("msg","连接成功");
                        //Toast.makeText(this,"连接成功",Toast.LENGTH_LONG).show();
                    }
                    else
                    {
                        Log.i("msg","连接失败");
                        //Toast.makeText(this,"连接失败",Toast.LENGTH_LONG).show();
                    }
                }catch (ClassNotFoundException e)
                {
                    Log.i("msg","出错了");
                    e.printStackTrace();
                }catch (SQLException e)
                {
                    Log.i("msg",e.getMessage());
                }catch (Exception e)
                {
                    Log.i("error","我错了");
                    e.printStackTrace();
                }
            }
        }).start();
    }
}

然后就连接成功了!!这也是我花了一天多的时间才搞好的,太难了!!!

我遇见的错误:

1.可能会遇到java.lang.unsupportOperation错误

这是因为mysql-connector版本过高导致的,我之前是8.0.23,结果出错了,后来换成5.0.29就可以了,但要注意不能超过Mysql的版本号

2.communication Link Failure

我是因为加了useSSL=true才出现的,改成false就行了

3.重启mysql后报错 Public Key Retrieval is not allowed

在url引用后面加allowPublicKeyRetrieval=true就行。

  • 6
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lzl2040

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值