JDBC连接数据库对使用非DQL语句方法的封装


前言

在使用JDBC连接数据库时,我们可以使用各种类型的SQL语句与数据库进行交互,包括数据查询语言(DQL)和非DQL语句,如插入,更新和删除数据。
JDBC提供了一些方法来封装非DQL语句的使用,例如PreparedStatement和CallableStatement。这些方法允许我们在执行非DQL语句时,使用占位符来代替实际的参数值,以避免SQL注入攻击。在执行非DQL语句时,这些方法还可以返回受影响的行数或生成的键值,以便我们可以进行后续的处理。


一、我们封装了什么?

在我之前的博客里提到了连接数据库的七大步骤,忘记的小伙伴请点击我复习!!
而我们对使用非DQL方法的封装,正是对第3、4、5、6、7步的封装,也就是对创建statement、发送sql语句、结果集解析、回收资源的封装。
那为什么要对这几步进行封装呢?有写过代码的小伙伴可能会有这样一个烦恼,就是在写对数据库的增删改方法时,第3、4、5、6、7步总是需要重复的写,这很让人感到枯燥,并且会降低我们写代码的效率,所以,本文章就是为了解决这些问题的。

二、如何封装?

我们直接看代码:
在这里用到的获取连接是我上篇博客内容:将getConnection方法封装。
感兴趣的小伙伴请点击我!!

//对非DQL语句代码的封装
    public int executeUpdate(String sql,Object... params) throws SQLException {
        //获取连接
        Connection connection = JdbcUtil.getConnection();

        //创建statement
        PreparedStatement statement = connection.prepareStatement(sql);

        //占位符赋值
        //可变参数可以当做数组使用
        for (int i = 1; i <= params.length; i++) {
            statement.setObject(i,params[i - 1]);
        }

        //发生sql语句
        int rows = statement.executeUpdate();

        //关闭资源
        statement.close();

        //判断是否开启事务
        if (connection.getAutoCommit()) {
            //没有开启事务,正常回收连接
            JdbcUtil.freeConnection();
        }

        return rows;
    }

最后

本篇文章虽短,但是学会后可以大幅度减少代码量,节省下的时间可以更多的使用在更关键的部分。
在我的下篇博客中,我将会介绍对使用DQL方法的封装。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值