• 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");
    

    总结

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

  • 相关阅读:
    vscode已有64位版本。
    git代码回滚的两种选择
    代码维护的问题
    草珊瑚理解IFC(inline formatting context)
    nodejs的dependency.md
    如何实现在H5里调起高德地图APP?(下)
    如何实现在H5里调起高德地图APP?(上)
    酸奶妈妈再次回归~
    【从零开始学】如何在安卓平台上实现定位?
    如何将四大名著和地图相结合?
  • 原文地址:https://www.cnblogs.com/baiyuxuan/p/14331531.html
Copyright © 2020-2023  润新知