Java连接数据库是Java开发中的重要步骤之一,数据库增删改查操作则是开发中经常用到的。在Java中,可以通过JDBC来实现对数据库的增、删、改、查操作。为了方便开发人员对数据库的操作,我们可以封装一个工具类。
编写数据库连接工具类
在Java中,我们可以使用java.sql
包中提供的工具类来连接数据库。首先需要在代码中加载数据库的驱动类,比如MySQL的驱动类是com.mysql.cj.jdbc.Driver
。我们可以使用Class.forName()
方法来加载驱动类,例如:
Class.forName("com.mysql.cj.jdbc.Driver");
接着,我们需要创建数据库连接,使用DriverManager.getConnection()
方法。例如:
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);
上述代码中,我们指定了连接的数据库的URL、用户名和密码。其中,URL可以在连接MySQL时指定相应的参数,比如useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
,用于指定编码集和时区。
我们可以将上述代码封装到一个工具类中,例如DBUtil
类:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBUtil {
private static final String URL = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai";
private static final String USER = "root";
private static final String PASSWORD = "123456";
public static Connection getConnection() throws SQLException, ClassNotFoundException {
Class.forName("com.mysql.cj.jdbc.Driver");
return DriverManager.getConnection(URL, USER, PASSWORD);
}
}
数据库增、删、改、查操作的代码示例
数据库插入操作
数据库插入操作可以使用PreparedStatement
接口来完成。例如,我们可以使用如下代码来向数据库中插入一条记录:
String sql = "INSERT INTO `user` (`name`, `age`, `email`) VALUES (?, ?, ?)";
try (Connection conn = DBUtil.getConnection();
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, "张三");
pstmt.setInt(2, 18);
pstmt.setString(3, "zhangsan@test.com");
pstmt.executeUpdate();
}
上述代码中,我们首先创建了一条SQL语句,然后使用PreparedStatement
接口来预编译SQL语句。在编写SQL语句时,使用?
来代替需要传入的参数。执行完成后,我们使用executeUpdate()
方法来执行SQL语句,如果插入成功,则返回1。
数据库删除操作
数据库删除操作可以使用PreparedStatement
接口来完成。例如,我们可以使用如下代码来删除数据库中的一条记录:
String sql = "DELETE FROM `user` WHERE `id`=?";
try (Connection conn = DBUtil.getConnection();
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setInt(1, 1);
pstmt.executeUpdate();
}
上述代码中,我们首先创建了一条SQL语句,然后使用PreparedStatement
接口来预编译SQL语句。在编写SQL语句时,使用?
来代替需要传入的参数。执行完成后,我们使用executeUpdate()
方法来执行SQL语句,如果删除成功,则返回1。
数据库修改操作
数据库修改操作可以使用PreparedStatement
接口来完成。例如,我们可以使用如下代码来修改数据库中的一条记录:
String sql = "UPDATE `user` SET `age`=? WHERE `id`=?";
try (Connection conn = DBUtil.getConnection();
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setInt(1, 20);
pstmt.setInt(2, 1);
pstmt.executeUpdate();
}
上述代码中,我们首先创建了一条SQL语句,然后使用PreparedStatement
接口来预编译SQL语句。在编写SQL语句时,使用?
来代替需要传入的参数。执行完成后,我们使用executeUpdate()
方法来执行SQL语句,如果修改成功,则返回1。
数据库查询操作
数据库查询操作可以使用Statement
接口或者PreparedStatement
接口来完成。例如,我们可以使用如下代码来查询数据库中的一条记录:
String sql = "SELECT * FROM `user` WHERE `id`=?";
try (Connection conn = DBUtil.getConnection();
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setInt(1, 1);
try (ResultSet rs = pstmt.executeQuery()) {
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String email = rs.getString("email");
System.out.println(id + ", " + name + ", " + age + ", " + email);
}
}
}
上述代码中,我们首先创建了一条SQL语句,然后使用PreparedStatement
接口来预编译SQL语句。在编写SQL语句时,使用?
来代替需要传入的参数。执行完成后,我们使用executeQuery()
方法来执行SQL语句,并返回一个ResultSet
对象。ResultSet
对象中包含了查询出来的数据记录。我们可以使用rs.next()
方法来遍历ResultSet
对象中的数据记录,并通过列名来获取相应的数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java连接数据库增、删、改、查工具类 - Python技术站