MySQL 基础20 DBUtils介绍
2018-03-20 本文已影响11人
小熊先生很不开心
1.1 DBUtils的概述
Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能。(百度百科)
对JDBC的简单封装,而且没有影响性能。(人话)
1.1.1 DBUtils的作用
因为JDBC手写比较麻烦,而且有非常多的代码是类似的。比如获得连接,预编译SQL,释放资源等..那么可以将这些代码抽取出来放到工具类中。将类似的代码进行抽取。大大简化JDBC的编程。
1.2 DBUtils的API
1.2.1 DBUtils的API的概述
- 核心运行类
- QueryRunner对象
- 构造方法
- QueryRunner() Constructor | for QueryRunner.
- QueryRunner(DataSource ds) | Constructor for QueryRunner which takes a DataSource.
- 构造方法
- 方法摘要
方法摘要 | |
---|---|
int update(String sql, Object... params) | Executes the given INSERT, UPDATE, or DELETE SQL statement. |
int update(Connection conn, String sql, Object... params) | Execute an SQL INSERT, UPDATE, or DELETE query. |
<T> T query(String sql, ResultSetHandler<T> rsh, Object... params) | Executes the given SELECT SQL query and returns a result object. |
<T> T query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) | Execute an SQL SELECT query with replacement parameters. |
- 在一般情况下如果执行CRUD的操作:
构造:
QueryRunner(DataSource ds);
方法:
int update(String sql,Object… args);
T query(String sql,ResultSetHandler rsh,Object… args);
- 如果有事务管理的话使用另一套完成CRUD的操作
构造:
QueryRunner();
方法:
int update(Connection conn,String sql,Object… args);
T query(Connection conn,String sql,ResultSetHandler rsh,Object… args);
1.2.2 DBUtils批量处理方法
方法摘要 | |
---|---|
int[] batch(Connection conn, String sql, Object[][] params) | Execute a batch of SQL INSERT, UPDATE, or DELETE queries. 2 |
int[] batch(String sql, Object[][] params) | Execute a batch of SQL INSERT, UPDATE, or DELETE queries. |
1.3 DBUtils静态方法
方法摘要 | |
---|---|
static void closeQuietly(Connection conn) | Close a Connection, avoid closing if null and hide any SQLExceptions that occur. |
static void rollbackAndCloseQuietly(Connection conn) | Performs a rollback on the Connection then closes it, avoid closing if null and hide any SQLExceptions that occur. |
static void commitAndCloseQuietly(Connection conn) | Commits a Connection then closes it, avoid closing if null and hide any SQLExceptions that occur |
- 安静的关闭 就是 自动处理异常