Android加载MySQL8.0遇到的一些问题

MySQL5.7和MySQL8.0的一些语法差异

(1)远程访问方法不同:
MySQL5.7中

final String CLS = "com.mysql.jdbc.Driver";

MySQL8.0中

final String CLS = "com.mysql.cj.jdbc.Driver";

(2)URL设置
MySQL5.7不需要添加时区信息,而在MySQL8.0中需要添加时区信息,且&需要用&amp代替,如果要连接云服务器,注意此处的IP地址为公网IP地址
MySQL5.7中

final String URL = "jdbc:mysql://你的IP地址3306/你的数据库";

MySQL8.0中

final String URL ="jdbc:mysql://你的IP地址:3306/你的数据库名?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC%2b8";

其中,时区方面几个可用的时区:UTC%2B8=GMT2B8=Asia=Shanghai=Hongkong,东八区就是北京,北京与上海与香港与亚洲,是等价关系。
北京时间=UTC+8=GMT+8
(3)MySQL8.0报错Default interface methods are only supported starting with Android N (–minapi24):com.mysql.cj.protocol.Messagecom.mysql.cj.interceptors.QueryInterceptor.postProcess(com.mysql.cj.protocol.Message, com.mysql.cj.protocol.Message)
解决方案:在build:gradle(:app)中添加如下代码:

//加上jdk1.8设置能解决  Error: Default interface methods are only supported starting with Android N
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8

在这里插入图片描述
(4)其他问题暂时没遇到,可对照run中报的错进行查找修改
新手记录自己遇到的问题,大佬勿喷。。。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要使用 Android Studio 连接 MySQL 8.0 数据库,您可以使用以下步骤: 1. 在 MySQL 服务器上创建一个新用户,并授予该用户适当的权限以连接到数据库。例如,您可以使用以下命令创建一个名为“new_user”的新用户并授予该用户访问名为“my_database”的数据库的权限: ``` CREATE USER 'new_user'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; GRANT ALL PRIVILEGES ON my_database.* TO 'new_user'@'%'; ``` 在此示例中,“new_user”是新用户的名称,“password”是用户的密码,“my_database”是要访问的数据库的名称。注意,将“%”用作主机名将允许从任何主机连接到数据库。如果您想限制访问,可以将“%”替换为特定的 IP 地址或主机名。 2. 在 Android Studio 中,打开项目并导航到“app”文件夹中的“build.gradle”文件。在该文件中添加以下依赖项: ``` implementation 'mysql:mysql-connector-java:8.0.27' ``` 这将允许您在项目中使用 MySQL 连接器。 3. 在您的 Java 代码中,使用以下代码连接到 MySQL 数据库: ``` try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection connection = DriverManager.getConnection( "jdbc:mysql://<hostname>:<port>/<database_name>?user=<username>&password=<password>", "<username>", "<password>" ); // 执行数据库操作 } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } ``` 在这里,您需要将以下值替换为适当的值: - `<hostname>`:MySQL 服务器的主机名或 IP 地址 - `<port>`:MySQL 服务器的端口号(默认为 3306) - `<database_name>`:要连接的数据库的名称 - `<username>`:在第一步中创建的 MySQL 用户的用户名 - `<password>`:在第一步中为 MySQL 用户创建的密码 注意,在连接字符串中使用了 URL 编码,因此需要将用户名和密码传递两次。 希望这可以帮助您连接到 MySQL 8.0 数据库! ### 回答2: Android Studio连接MySQL 8.0需要完成以下几个步骤: 第一步:下载MySQL Connector/J 在MySQL官网上下载MySQL Connector/J,然后将其解压缩至Android Studio的项目目录下的app/libs文件夹中。然后在build.gradle中添加以下代码片段: dependencies { ... implementation files('libs/mysql-connector-java-8.0.13.jar') } 第二步:添加网络权限 在AndroidManifest.xml文件中添加以下代码: <uses-permission android:name="android.permission.INTERNET" /> 第三步:编写连接代码 在Android Studio的项目中创建一个Java类,命名为MySQLiteHelper。在MySQLiteHelper中编写以下代码,这段代码会连接到MySQL数据库: import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class MySQLiteHelper { private static final String URL = "jdbc:mysql://数据库IP地址:端口号/数据库名?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"; private static final String USER = "数据库用户名"; private static final String PASSWORD = "数据库密码"; private Connection connection; public Connection getConnection() { try { Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection(URL, USER, PASSWORD); System.out.println("Database connection success!"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return connection; } public void closeConnection() { try { connection.close(); System.out.println("Database connection close!"); } catch (SQLException e) { e.printStackTrace(); } } } 需要注意的是,其中的URL需要修改为自己的数据库IP地址、端口号和数据库名,USER和PASSWORD需要修改为自己的数据库用户名和密码。 第四步:调用连接代码 在需要连接数据库的Java类中调用MySQLiteHelper.getConnection()方法,连接MySQL数据库就完成了。 总结 Android Studio连接MySQL 8.0需要下载MySQL Connector/J,添加网络权限,编写连接代码,并在需要连接数据库的Java类中调用MySQLiteHelper.getConnection()方法。以上是连接MySQL 8.0的基本步骤,需要在实际开发中按照自己的需求进行修改和优化。 ### 回答3: 在Android Studio中连接MySQL8.0需要进行如下步骤: 1.下载并安装MySQL Connector/J MySQL Connector/J是 MySQL 的一个官方 JDBC 驱动程序,它提供了在 Java 应用程序和 MySQL 数据库之间进行连接的功能。因此,在连接 MySQL 数据库之前,需要下载和安装MySQL Connector/J。 在完成下载后,将JAR文件拷贝到项目的libs文件夹下,然后在模块的build.gradle文件中添加以下声明: ``` dependencies { implementation files('libs/mysql-connector-java-8.0.26.jar') } ``` 2.添加网络连接权限 在AndroidManifest.xml 文件中添加以下声明,以获取网络连接权限: ``` <uses-permission android:name="android.permission.INTERNET" /> ``` 3.编写Java代码连接MySQL 在代码中,我们需要使用JDBC驱动程序创建一个数据库连接,然后使用此连接来执行查询语句和插入语句等操作。以下是一个简单的示例代码: ``` import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class MySQLConnect { public static void main(String[] args) { // MYSQL账户和密码以及使用的数据库名称 String url = "jdbc:mysql://localhost:3306/test"; //jdbc:mysql是驱动程序协议,localhost:3306是MYSQL服务器的IP地址和端口,test是连接的数据库名称 String user = "root"; //MYSQL用户名 String password = "****"; //MYSQL密码 try { //加载JDBC连接器 Class.forName("com.mysql.cj.jdbc.Driver"); //创建一个连接 Connection connection = DriverManager.getConnection(url, user, password); //创建一个PreparedStatement对象,该对象可以避免SQL注入攻击 PreparedStatement preparedStatement = connection.prepareStatement("select * from students where Grade=?"); //使用PreparedStatement对象设置查询参数 preparedStatement.setString(1, "A"); //执行查询并返回结果 ResultSet resultSet = preparedStatement.executeQuery(); //遍历结果 while (resultSet.next()) { System.out.println(resultSet.getInt(1) + " " + resultSet.getString(2) + " " + resultSet.getString(3)); } //关闭ResultSet、PreparedStatement和Connection对象 resultSet.close(); preparedStatement.close(); connection.close(); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } } } ``` 通过以上步骤,就可以在Android Studio中连接MySQL8.0数据库并执行常见的SQL操作了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值