当前位置:首页 > Java

java如何和mysql连接

2026-04-08 22:12:26Java

Java连接MySQL数据库的方法

1. 加载MySQL JDBC驱动

将MySQL的JDBC驱动jar包添加到项目的类路径中。可以通过Maven依赖或手动下载jar包实现。

Maven依赖配置:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.28</version>
</dependency>

2. 注册驱动并建立连接

使用Class.forName()加载驱动,然后通过DriverManager获取数据库连接。

Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/database_name";
String username = "root";
String password = "password";
Connection connection = DriverManager.getConnection(url, username, password);

3. 执行SQL语句

通过Connection对象创建StatementPreparedStatement执行SQL查询或更新。

Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM table_name");

PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO table_name VALUES (?, ?)");
preparedStatement.setString(1, "value1");
preparedStatement.setInt(2, 123);
preparedStatement.executeUpdate();

4. 处理结果集

遍历ResultSet获取查询结果。

while(resultSet.next()) {
    String column1 = resultSet.getString("column_name1");
    int column2 = resultSet.getInt("column_name2");
    System.out.println(column1 + " " + column2);
}

5. 关闭连接

完成数据库操作后,需要关闭所有打开的数据库资源。

resultSet.close();
statement.close();
connection.close();

使用连接池优化连接管理

1. 引入连接池依赖

常用连接池如HikariCP或DBCP。

HikariCP Maven依赖:

<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>5.0.1</version>
</dependency>

2. 配置并使用连接池

HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/database_name");
config.setUsername("root");
config.setPassword("password");

HikariDataSource dataSource = new HikariDataSource(config);
Connection connection = dataSource.getConnection();

常见连接参数

1. 时区设置

String url = "jdbc:mysql://localhost:3306/database_name?serverTimezone=UTC";

2. SSL设置

String url = "jdbc:mysql://localhost:3306/database_name?useSSL=false";

3. 字符编码设置

String url = "jdbc:mysql://localhost:3306/database_name?useUnicode=true&characterEncoding=UTF-8";

异常处理

1. 捕获SQLException

try {
    // 数据库操作代码
} catch (SQLException e) {
    e.printStackTrace();
} finally {
    // 关闭资源
}

2. 使用try-with-resources

Java 7及以上版本可以使用自动资源管理。

try (Connection connection = DriverManager.getConnection(url, username, password);
     Statement statement = connection.createStatement()) {
    // 数据库操作代码
} catch (SQLException e) {
    e.printStackTrace();
}

注意事项

1. 驱动类名变化

MySQL 8.0+使用com.mysql.cj.jdbc.Driver,旧版本可能使用com.mysql.jdbc.Driver

2. 连接参数

根据MySQL服务器版本和配置调整连接URL中的参数。

3. 资源释放

java如何和mysql连接

确保数据库连接、语句和结果集在使用后被正确关闭。

标签: javamysql
分享给朋友:

相关文章

如何运行java程序

如何运行java程序

编写Java代码 创建一个以.java为扩展名的文件,例如HelloWorld.java。文件内容需包含一个类定义,类名必须与文件名一致。例如: public class HelloWorld {…

java中如何获取当前时间

java中如何获取当前时间

获取当前时间的几种方法 使用 java.time 包(Java 8及以上推荐) import java.time.LocalDateTime; LocalDateTime currentTime =…

java如何调用另一个类的方法

java如何调用另一个类的方法

调用另一个类的方法 在Java中调用另一个类的方法,通常需要创建该类的对象或直接通过类名调用(静态方法)。以下是几种常见的方式: 通过对象实例调用实例方法 创建一个目标类的对象,通过对象调用其方法。…

如何系统的学习java

如何系统的学习java

学习Java的基础知识 Java的基础知识包括语法、数据类型、变量、运算符、控制流语句等。可以通过官方文档或入门书籍如《Java核心技术》来掌握这些内容。编写简单的程序练习基础语法,例如打印“Hell…

php实现mysql读写分离

php实现mysql读写分离

实现MySQL读写分离的方法 MySQL读写分离通过将读操作和写操作分发到不同的数据库服务器,提高系统性能和可扩展性。以下是PHP实现MySQL读写分离的几种方法: 使用MySQL主从复制配置 配置…

php mysql 实现排班

php mysql 实现排班

PHP 与 MySQL 实现排班系统 数据库设计 创建排班系统需要设计合理的数据库表结构。通常需要以下表: 员工表 (employees):存储员工信息 班次表 (shifts):定义班次类型和时间…