JDBC工具类——JdbcUtils(6)

JDBC工具类——JdbcUtils(6)

前言

本系列文章介绍JDBC工具类——JdbcUtils的封装,部分实现参考了Spring框架的JdbcTemplate

完整项目地址:https://github.com/byx2000/JdbcUtils

更新操作的封装

下面是更新操作的代码:

Connection conn = null;
PreparedStatement stmt = null;

try
{
    // 获取连接
    conn = JdbcUtils.getConnection();

    // 构造语句
    stmt = JdbcUtils.createPreparedStatement(conn,
            "INSERT INTO users(username, password) VALUES(?, ?)",
            "byx", "123456");

    // 执行语句,获取影响行数
    int count = stmt.executeUpdate();
}
catch (Exception e)
{
    // 处理异常
    ...
}
finally
{
    // 释放资源
    JdbcUtils.close(stmt, conn);
}

其实更新操作的封装比查询操作要简单得多,因为更新操作并不涉及到结果集的处理,所以只需要把所有流程封装到一个update函数里就行了:

public class JdbcUtils
{
    ...
    public static int update(String sql, Object... params)
    {
        Connection conn = null;
        PreparedStatement stmt = null;
        try
        {
            conn = getConnection();
            stmt = createPreparedStatement(conn, sql, params);
            return stmt.executeUpdate();
        }
        catch (Exception e)
        {
            throw new RuntimeException(e.getMessage(), e);
        }
        finally
        {
            close(stmt, conn);
        }
    }
    ...
}

sqlparams分别表示传入的sql语句和sql参数,update方法的返回值是影响行数。

update函数内部的异常处理与query一样,这里不再分析。

此时客户代码可以这样对数据库进行更新:

// 插入用户
int count = JdbcUtils.update("INSERT INTO users(username, password) VALUES(?, ?)", 
            "byx", "123456");

// 删除用户
int count = JdbcUtils.update("DELETE FROM users WHERE username = ? AND password = ?",
            "byx", "123456");

总结

到这里,整个系列的文章就结束了。如果读者有任何建议和改进方法,欢迎留言。

原文地址:https://www.cnblogs.com/baiyuxuan/p/14331531.html