java中mysql5和mysql8数据库连接方式
在Java中连接MySQL 5和MySQL 8数据库的方式基本相同,主要是通过JDBC API。以下是使用JDBC连接MySQL数据库的示例代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySQLConnectionExample {
public static void main(String[] args) {
// 数据库驱动名称和数据库URL
String jdbcDriver = "com.mysql.cj.jdbc.Driver"; // MySQL 8的驱动
String dbUrl = "jdbc:mysql://localhost:3306/your_database"; // 你的数据库地址和端口号以及数据库名
String username = "your_username"; // 你的数据库用户名
String password = "your_password"; // 你的数据库密码
Connection connection = null;
try {
// 加载数据库驱动
Class.forName(jdbcDriver);
// 连接数据库
connection = DriverManager.getConnection(dbUrl, username, password);
// 操作数据库...
System.out.println("连接成功!");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (connection != null && !connection.isClosed()) {
// 关闭连接
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
确保你的项目中包含了MySQL的JDBC驱动依赖。对于Maven项目,你可以在pom.xml
中添加如下依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version> <!-- 使用最新的版本 -->
</dependency>
对于MySQL 5和MySQL 8,连接字符串dbUrl
稍有不同。MySQL 5通常使用jdbc:mysql://
前缀,而MySQL 8推荐使用jdbc:mysql:///
前缀,并且需要指定serverTimezone
,例如:jdbc:mysql://localhost:3306/your_database?serverTimezone=UTC
。从MySQL 8开始,默认的连接/认证插件从mysql_native_password
变为了caching_sha2_password
,如果使用旧的驱动可能会遇到认证问题,建议使用MySQL 8的驱动和最新的认证插件。
评论已关闭