下面是完整的“java的jdbc简单封装方法”的攻略。
背景介绍
Java连接数据库可以使用JDBC API实现。但是,JDBC API的一些操作非常繁琐,比如数据库连接的建立和关闭、一些查询操作和结果集的处理等。这些繁琐的操作增加了我们代码的复杂度。考虑此问题,我们可以对JDBC API进行简单封装来降低代码的复杂度。
简单封装实现
步骤1:引入依赖
我们需要引入 JDBC 驱动程序依赖,这里以 MySQL 为例。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>版本号</version>
</dependency>
步骤2:定义封装类
定义一个类,封装JDBC操作,我们可以将代码中常用的操作封装到这个类中,这样就可以屏蔽掉之前提到的一些繁琐的操作。下面是一个简单的例子,我们封装了JDBC操作中的连接打开、关闭、查询和更新语句执行功能。
import java.sql.*;
public class JdbcUtils {
private static final String URL = "jdbc:mysql://localhost:3306/test_db";
private static final String USER_NAME = "root";
private static final String PASSWORD = "123456";
private static Connection conn;
static {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(URL, USER_NAME, PASSWORD);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
return conn;
}
public static void close(Connection conn, PreparedStatement pstmt, ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static ResultSet query(String sql, Object... params) throws SQLException {
PreparedStatement pstmt = conn.prepareStatement(sql);
if (params != null) {
for (int i = 0; i < params.length; i++) {
pstmt.setObject(i + 1, params[i]);
}
}
return pstmt.executeQuery();
}
public static int update(String sql, Object... params) throws SQLException {
PreparedStatement pstmt = conn.prepareStatement(sql);
if (params != null) {
for (int i = 0; i < params.length; i++) {
pstmt.setObject(i + 1, params[i]);
}
}
return pstmt.executeUpdate();
}
}
步骤3:使用封装类
在需要使用JDBC操作时,只需要调用封装类中的方法就可以了。下面是两个简单的例子,一个是查询操作,另一个是更新操作。
查询
public class TestQuery {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = JdbcUtils.getConnection();
String sql = "SELECT * FROM users WHERE username = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Tom");
rs = JdbcUtils.query(sql, "Tom");
while (rs.next()) {
System.out.println(rs.getString("username") + " " + rs.getString("password"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
JdbcUtils.close(conn, pstmt, rs);
}
}
}
更新
public class TestUpdate {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = JdbcUtils.getConnection();
String sql = "UPDATE users SET password = ? WHERE username = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "123456");
pstmt.setString(2, "Tom");
int result = JdbcUtils.update(sql, "123456", "Tom");
System.out.println(result);
} catch (SQLException e) {
e.printStackTrace();
} finally {
JdbcUtils.close(conn, pstmt, null);
}
}
}
总结
本文介绍了如何利用封装技术来简化 JDBC API 的使用,封装后的代码更加简洁易读,可以提高开发效率。通过以上示例的讲解,相信大家已经掌握了 jdbc 的简单封装方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java的jdbc简单封装方法 - Python技术站