Java中JDBC增删改查操作详解
JDBC(Java Database Connectivity)是Java程序访问数据库的标准API。学习JDBC可以帮助我们了解如何在Java程序中对数据库进行增删改查等操作。
本教程将详细讲解Java中JDBC的增删改查操作,包括以下部分:
- JDBC环境搭建
- 数据库的增删改查操作
- 示例
JDBC环境搭建
在使用JDBC之前,我们需要先配置JDBC环境。
- 下载并安装JDBC驱动
JDBC驱动程序是连接Java程序和数据库的桥梁,不同的数据库需要不同的驱动。以MySQL为例,在官网下载MySQL的JDBC驱动:https://dev.mysql.com/downloads/connector/j/
下载完后,将jar包添加到Java项目的classpath中。
- 加载JDBC驱动
在使用JDBC之前,需要先加载JDBC驱动程序。可以使用 Class.forName()
方法来加载驱动。
// 加载MySQL驱动
Class.forName("com.mysql.jdbc.Driver");
- 建立数据库连接
使用JDBC访问数据库需要先建立数据库连接,可以通过 DriverManager.getConnection()
方法来建立连接,并传入数据库的URL、用户名和密码。
// 建立MySQL数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
数据库的增删改查操作
增加数据
通过JDBC可以使用SQL语句向数据库中插入新记录。可以使用 PreparedStatement
或 Statement
对象来执行SQL语句。
String sql = "INSERT INTO student(name, age) VALUES(?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Tom");
pstmt.setInt(2, 25);
pstmt.executeUpdate();
这里使用 PreparedStatement
对象来执行SQL语句,使用 setXXX()
方法来设置占位符的值,再调用 executeUpdate()
方法执行SQL语句。
删除数据
使用JDBC可以使用SQL语句从数据库中删除记录。
String sql = "DELETE FROM student WHERE id=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 1);
pstmt.executeUpdate();
这里使用 PreparedStatement
对象来执行SQL语句,使用 setXXX()
方法来设置占位符的值,再调用 executeUpdate()
方法执行SQL语句。
修改数据
使用JDBC可以使用SQL语句更新数据库中的记录。
String sql = "UPDATE student SET name=?, age=? WHERE id=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Tom");
pstmt.setInt(2, 30);
pstmt.setInt(3, 1);
pstmt.executeUpdate();
这里使用PreparedStatement对象来执行SQL语句,使用setXXX()方法来设置占位符的值,再调用executeUpdate()方法执行SQL语句。
查询数据
使用JDBC可以使用SQL语句查询数据库中的记录。
String sql = "SELECT * FROM student WHERE age=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 25);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println("id=" + rs.getInt("id") + ", name=" + rs.getString("name") + ", age=" + rs.getInt("age"));
}
这里使用PreparedStatement对象来执行查询SQL语句,使用setXXX()方法设置占位符的值,并调用executeQuery()方法返回结果集,遍历结果集并输出每一条记录的信息。
示例
下面是一个完整的例子,演示了如何使用JDBC进行增删改查操作。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JDBCTest {
static {
try {
// 加载MySQL驱动
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Connection conn = null;
try {
// 建立MySQL数据库连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
// 增加数据
String sql = "INSERT INTO student(name, age) VALUES(?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Tom");
pstmt.setInt(2, 25);
pstmt.executeUpdate();
// 删除数据
sql = "DELETE FROM student WHERE id=?";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 1);
pstmt.executeUpdate();
// 修改数据
sql = "UPDATE student SET name=?, age=? WHERE id=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Tom");
pstmt.setInt(2, 30);
pstmt.setInt(3, 2);
pstmt.executeUpdate();
// 查询数据
sql = "SELECT * FROM student WHERE age=?";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 25);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println("id=" + rs.getInt("id") + ", name=" + rs.getString("name") + ", age=" + rs.getInt("age"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
该例子使用了MySQL驱动,在建立MySQL连接之后,执行了增加数据、删除数据、修改数据、查询数据等操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中JDBC增删改查操作详解 - Python技术站