Java中使用JDBC连接MySQL数据库,通过Statement或PreparedStatement执行SQL语句,获取ResultSet结果集,实现增删改查功能。
在Java中使用MySQL数据库,首先需要导入MySQL的JDBC驱动,然后通过建立连接、创建Statement对象、执行SQL语句、处理结果集等步骤来实现对数据库的操作,以下是详细的步骤和示例代码:
1、导入MySQL的JDBC驱动
在项目的pom.xml文件中添加以下依赖:
<dependency> <groupId>mysql</groupId> <artifactId>mysqlconnectorjava</artifactId> <version>8.0.26</version> </dependency>
2、建立数据库连接
使用DriverManager.getConnection()
方法建立与数据库的连接,需要提供数据库的URL、用户名和密码。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class JdbcDemo { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC"; String user = "root"; String password = "your_password"; try { Connection connection = DriverManager.getConnection(url, user, password); System.out.println("数据库连接成功"); } catch (SQLException e) { e.printStackTrace(); } } }
3、创建Statement对象
使用connection.createStatement()
方法创建一个Statement对象,用于执行SQL语句。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JdbcDemo { public static void main(String[] args) { // ...省略建立数据库连接的代码... try { Connection connection = DriverManager.getConnection(url, user, password); Statement statement = connection.createStatement(); System.out.println("Statement对象创建成功"); } catch (SQLException e) { e.printStackTrace(); } } }
4、执行SQL语句并处理结果集(查询操作)
使用statement.executeQuery()
方法执行SQL查询语句,返回一个ResultSet对象,用于处理查询结果。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JdbcDemo { public static void main(String[] args) { // ...省略建立数据库连接和创建Statement对象的代码... try { Connection connection = DriverManager.getConnection(url, user, password); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM users"); System.out.println("查询结果:"); while (resultSet.next()) { System.out.println("id: " + resultSet.getInt("id") + ", name: " + resultSet.getString("name")); } resultSet.close(); statement.close(); connection.close(); } catch (SQLException e) { e.printStackTrace(); } } }
5、执行SQL语句并处理结果集(插入操作)
使用statement.executeUpdate()
方法执行SQL插入语句,返回一个整数,表示受影响的行数。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement; import java.util.Scanner; public class JdbcDemo { public static void main(String[] args) { // ...省略建立数据库连接和创建Statement对象的代码... Scanner scanner = new Scanner(System.in); System.out.println("请输入用户名:"); String name = scanner.nextLine(); System.out.println("请输入年龄:"); int age = scanner.nextInt(); scanner.close(); try { Connection connection = DriverManager.getConnection(url, user, password); String sql = "INSERT INTO users (name, age) VALUES (?, ?)"; PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, name); preparedStatement.setInt(2, age); int rowsAffected = preparedStatement.executeUpdate(); if (rowsAffected > 0) { System.out.println("插入成功"); } else { System.out.println("插入失败"); } preparedStatement.close(); connection.close(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭资源,避免内存泄漏问题,建议使用trywithresources语句块代替finally块关闭资源。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)