学习MySQL和数据库(九)——DBUtils

开源的JDBC工具类库,对JDBC的简单封装

DBUtils类

  • public static void close(……) throws java.sql.SQLException
    DBUtils类提供了三个重载的关闭方法。这些方法检查所提供的参数是不是NULL,如果不是的话,他们就关闭Connection,Statement和ResultSet

  • public static void closeQuietly(……)
    这一类方法不仅能在Connection,Statement和ResultSet为NULL的情况下不避免关闭,还能隐藏一些在程序中抛出的SQLEception

  • public static void commitAndClose(Connection conn) throws SQLException
    用来提交连接的事务,然后关闭连接

  • public static void commitAndCloseQuietly(Connection conn)
    用来提交连接的事务,然后关闭连接,并且在关闭连接时不抛出SQL异常

  • public static void rollback(Connection conn) throws SQLException
    允许conn为null,因为方法内部做了判断

  • public static void rollbackAndClose(Connection conn) throws SQLException

  • rollbackAndCloseQuietly(Connection)

  • public static boolean loadDriver(java.lang.String driverClassName)
    这一方法装载并注册JDBC驱动程序,如果成功就返回true。使用该方法,你不需要捕捉这个异常ClassNotFoundException

QueryRunner类

该类封装了SQL的执行,是线性安全的。

  • 可以实现增,删,改,查,批处理
  • 考虑了事务处理需要共用Connection
  • 该类最主要的就是简单化了SQL查询,它与ResultSetHandler组合在一起使用可以完成大部分的数据库操作,能够大大减少代码量

QueryRunner类提供了两个构造方法:

  • QueryRunner():默认的构造方法
  • QueryRunner(DataSource ds):需要一个java.sql.DataSource来作参数的构造方法

更新

public int update(Connection conn,String sql,Object…… params)throws SQLException:
用来执行一个更新(插入,更新或删除)操作

插入

public <T> T insert(Connection conn,String sql,ResultSetHandler<T> rsh,Object…… params)throws SQLException:
只支持INSERT语句,返回值:An object generated by the handler.即自动生成的键值

批处理

public int[] batch(Connection conn,String sql,Object[][] params)throws SQLException:
INSERT,UPDATE,DELETE语句

public <T> T insertBatch(Connection conn,String sql,ResultSetHandler<T> rsh,Object[][] params)throws SQLException:
只支持INSERT语句

使用QueryRunner类实现

public Object query(Connection conn,String sql,ResultSetHandler rsh,Object…… params)throws SQLException:
执行一个查询操作,在中国查询中,对象数组中的每个元素值被用来作为查询语句的置换参数。该方法会自行处理PreparedStatement和ResultSet的创建和关闭

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FFFPAG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值