From 0dd57b9e313e4dc69ef92e62c6055872651f53b8 Mon Sep 17 00:00:00 2001 From: Looly Date: Sun, 10 Oct 2021 14:03:04 +0800 Subject: [PATCH] add null check --- CHANGELOG.md | 1 + hutool-db/src/main/java/cn/hutool/db/Db.java | 41 ++++++++++---------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ee4ac3f2..4c45814e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ # 5.7.15 (2021-10-10) ### 🐣新特性 +* 【db 】 Db.quietSetAutoCommit增加判空(issue#I4D75B@Gitee) ### 🐞Bug修复 ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-db/src/main/java/cn/hutool/db/Db.java b/hutool-db/src/main/java/cn/hutool/db/Db.java index 4af1b1dcb..f1b3f23aa 100644 --- a/hutool-db/src/main/java/cn/hutool/db/Db.java +++ b/hutool-db/src/main/java/cn/hutool/db/Db.java @@ -1,10 +1,5 @@ package cn.hutool.db; -import java.sql.Connection; -import java.sql.SQLException; - -import javax.sql.DataSource; - import cn.hutool.core.lang.func.VoidFunc1; import cn.hutool.db.dialect.Dialect; import cn.hutool.db.dialect.DialectFactory; @@ -13,10 +8,14 @@ import cn.hutool.db.sql.Wrapper; import cn.hutool.db.transaction.TransactionLevel; import cn.hutool.log.StaticLog; +import javax.sql.DataSource; +import java.sql.Connection; +import java.sql.SQLException; + /** * 数据库操作类
* 通过给定的数据源执行给定SQL或者给定数据源和方言,执行相应的CRUD操作
- * + * * @author Looly * @since 4.1.2 */ @@ -26,7 +25,7 @@ public class Db extends AbstractDb { /** * 创建Db
* 使用默认数据源,自动探测数据库连接池 - * + * * @return Db */ public static Db use() { @@ -36,7 +35,7 @@ public class Db extends AbstractDb { /** * 创建Db
* 使用默认数据源,自动探测数据库连接池 - * + * * @param group 数据源分组 * @return Db */ @@ -47,7 +46,7 @@ public class Db extends AbstractDb { /** * 创建Db
* 会根据数据源连接的元信息识别目标数据库类型,进而使用合适的数据源 - * + * * @param ds 数据源 * @return Db */ @@ -57,7 +56,7 @@ public class Db extends AbstractDb { /** * 创建Db - * + * * @param ds 数据源 * @param dialect 方言 * @return Db @@ -68,7 +67,7 @@ public class Db extends AbstractDb { /** * 创建Db - * + * * @param ds 数据源 * @param driverClassName 数据库连接驱动类名 * @return Db @@ -80,7 +79,7 @@ public class Db extends AbstractDb { // ---------------------------------------------------------------------------- Constructor start /** * 构造,从DataSource中识别方言 - * + * * @param ds 数据源 */ public Db(DataSource ds) { @@ -89,7 +88,7 @@ public class Db extends AbstractDb { /** * 构造 - * + * * @param ds 数据源 * @param driverClassName 数据库连接驱动类名,用于识别方言 */ @@ -99,7 +98,7 @@ public class Db extends AbstractDb { /** * 构造 - * + * * @param ds 数据源 * @param dialect 方言 */ @@ -118,7 +117,7 @@ public class Db extends AbstractDb { public Db setWrapper(Wrapper wrapper) { return (Db) super.setWrapper(wrapper); } - + @Override public Db disableWrapper() { return (Db)super.disableWrapper(); @@ -147,7 +146,7 @@ public class Db extends AbstractDb { /** * 执行事务,使用默认的事务级别
* 在同一事务中,所有对数据库操作都是原子的,同时提交或者同时回滚 - * + * * @param func 事务函数,所有操作应在同一函数下执行,确保在同一事务中 * @return this * @throws SQLException SQL异常 @@ -159,7 +158,7 @@ public class Db extends AbstractDb { /** * 执行事务
* 在同一事务中,所有对数据库操作都是原子的,同时提交或者同时回滚 - * + * * @param transactionLevel 事务级别枚举,null表示使用JDBC默认事务 * @param func 事务函数,所有操作应在同一函数下执行,确保在同一事务中 * @return this @@ -208,7 +207,7 @@ public class Db extends AbstractDb { // ---------------------------------------------------------------------------- Private method start /** * 静默回滚事务 - * + * * @param conn Connection */ private void quietRollback(Connection conn) { @@ -223,12 +222,12 @@ public class Db extends AbstractDb { /** * 静默设置自动提交 - * + * * @param conn Connection * @param autoCommit 是否自动提交 */ private void quietSetAutoCommit(Connection conn, Boolean autoCommit) { - if (null != autoCommit) { + if (null != conn && null != autoCommit) { try { conn.setAutoCommit(autoCommit); } catch (Exception e) { @@ -237,4 +236,4 @@ public class Db extends AbstractDb { } } // ---------------------------------------------------------------------------- Private method end -} \ No newline at end of file +}