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)