7.1初识DBUtils7.1.2DBUtils核心成员由于DBUtils是对JDBC的封装,所以它的类包是围绕实现JDBC的功能来设计的。JDBC需要多行代码实现的功能,DBUtils只需调用一个工具类即可实现。DBUtils提供了一系列的API,具体如图所示。DBUtils类DBUtils核心类库QueryRunnar类ResultSeatHandler接口从图中可以看出,DBUtils工具包主要有三个核心API。通过它们,DBUtils工具包基本覆盖了JDBC的所有操作
7.1 初识DBUtils 7.1.2 DBUtils核心成员 • 由于DBUtils是对JDBC的封装,所以它的类包是围绕实现JDBC的功能来设计的。JDBC需要多行代码 实现的功能,DBUtils只需调用一个工具类即可实现。DBUtils提供了一系列的API,具体如图所示。 • 从图中可以看出,DBUtils工具包主要有三个核心API。通过它们,DBUtils工具包基本覆盖了JDBC 的所有操作
7.1初识DBUtils7.1.2DBUtils核心成员1.DBUtils类该类主要为装载JDBC驱动、关闭资源等常规操作提供方法,它的方法一般是静态的,直接以类名调用。DBUtils类的常用方法如表所示。方法名称功能描述当连接不为NULL时,关闭连接void close(Connection conn)当声明不为NULL时,关闭声明void close(Statement stat)void close(ResultSet rs)当结果集不为NULL时,关闭结果集当连接不为NULL时,关闭连接,并隐藏一些在程序voidcloseQuietly(Connectionconn)中地出的SQL异常当声明不为NULL时,关闭声明,并隐藏一些在程序void closeQuietly(Statement stat)中抛出的SQL异常当结果集不为NULL时,关闭结果集,并隐藏一些在void closeQuietly(ResultSetrs)程序中地出的SOL异常提交连接后关闭连接,并隐藏一些在程序中抛出的voidcommitAndCloseQuietly(Connectionconn)SQL异常Boolean loadDriver(String driveClassName)装载并注册JDBC驱动程序,如果成功就返回TRUE
7.1 初识DBUtils 1. DBUtils类 • 该类主要为装载JDBC驱动、关闭资源等常规操作提供方法,它的方法一般是静态的,直接以类名调 用。DBUtils类的常用方法如表所示。 方法名称 功能描述 void close(Connection conn) 当连接不为 NULL 时,关闭连接 void close(Statement stat) 当声明不为 NULL 时,关闭声明 void close(ResultSet rs) 当结果集不为 NULL 时,关闭结果集 void closeQuietly(Connection conn) 当连接不为 NULL 时,关闭连接,并隐藏一些在程序 中抛出的 SQL 异常 void closeQuietly(Statement stat) 当声明不为 NULL 时,关闭声明,并隐藏一些在程序 中抛出的 SQL 异常 void closeQuietly(ResultSet rs) 当结果集不为 NULL 时,关闭结果集,并隐藏一些在 程序中抛出的 SQL 异常 void commitAndCloseQuietly(Connection conn) 提交连接后关闭连接,并隐藏一些在程序中抛出的 SQL 异常 Boolean loadDriver(String driveClassName) 装载并注册 JDBC 驱动程序,如果成功就返回 TRUE 7.1.2 DBUtils核心成员
7.1初识DBUtils7.1.2DBUtils核心成员2.QueryRunner类,该类用于执行SQL语句,和JDBC中PreparedStatement类的功能类似。它封装了执行SQL语句的代码,在获取结果集时和接口ResultSetHandler配合使用。QueryRunner类的常用方法如表所示。功能描述方法名称Object query(Connection conn, String sql, ResultSetHandler rsh, Object执行查询操作,需传入Connection对象params)执行查询操作Object query(String sql, ResultSetHandler rsh, Object params)用来执行一个不需要置换Object query(Connection conn, String sql, ResultSetHandler rsh)参的更新操作用来执行一个更新(插int update(Connection conn, String sql, Object params)入、更新或删除)操作用来执行一个不需要置换int update(Connection conn, String sq)参数的更新操作批量添加、更改、删除int batch(Connection conn, String sql, Object[ params)批量添加、更改、删除int/batch(Stringsql,Object/lparams)
2. QueryRunner类 • 该类用于执行SQL语句,和JDBC中PreparedStatement类的功能类似。它封装了执行SQL语句的代 码,在获取结果集时和接口ResultSetHandler配合使用。QueryRunner类的常用方法如表所示。 方法名称 功能描述 Object query(Connection conn, String sql, ResultSetHandler rsh, Object[] params) 执行查询操作,需传入 Connection 对象 Object query(String sql, ResultSetHandler rsh,Object[] params) 执行查询操作 Object query(Connection conn, String sql, ResultSetHandler rsh) 用来执行一个不需要置换 参数的更新操作 int update(Connection conn, String sql, Object[] params) 用来执行一个更新(插 入、更新或删除)操作 int update(Connection conn, String sql) 用来执行一个不需要置换 参数的更新操作 int[] batch(Connection conn, String sql, Object[][] params) 批量添加、更改、删除 int[] batch(String sql, Object[][] params) 批量添加、更改、删除 7.1 初识DBUtils 7.1.2 DBUtils核心成员
7.1初识DBUtils7.1.2DBUtils核心成员3.ResultSetHandler接:该接口主要用于处理查询之后获取的结果。为了应对各种各样的查询场景,DBUtils提供了十余种该接口的实现类,每个实现类都有自己的独特之处,开发者可根据实际情况调用。ResultSetHandler类名称功能描述接口的实现类如表所示ArrayHandler将查询结果的第一行数据,保存到Object数组中将查询的结果,每一行先封装到Object数组中,然后将数据存入List集合ArrayListHandlerBeanHandler将查询结果的第一行数据,对装到类对象中BeanListHandler将查询结果的每一行封装到JavaBean对象,然后再存入List集合将查询结果的指定列的数据封装到List集合中ColumnListHandler将查询结果的第一行数据封装到map结合(key是列名,value是列值)MapHandler将查询结果的每一行封装到map集合(key是列名,value是列值),再将map集MapListHandler合存入List集合将查询结果的每一行数据,寸装到User对象,再存入map集合中(key是列名,BeanMapHandlervalue是列值)将查询的结果的每一行数据,封装到mapl集合(key是列名,value是列值),然KeyedHandler后将map1集合(有多个)存入map2集合(只有一个)封装类似count、、avg、max、min、sum....画数的执行结果SealarHandler
3. ResultSetHandler接口 • 该接口主要用于处理查询之后获取的结果。为了应对各种各样的查询场景,DBUtils提供了十余种该 接口的实现类,每个实现类都有自己的独特之处,开发者可根据实际情况调用。ResultSetHandler 接口的实现类如表所示。 类名称 功能描述 ArrayHandler 将查询结果的第一行数据,保存到 Object 数组中 ArrayListHandler 将查询的结果,每一行先封装到 Object 数组中,然后将数据存入 List 集合 BeanHandler 将查询结果的第一行数据,封装到类对象中 BeanListHandler 将查询结果的每一行封装到 JavaBean 对象,然后再存入 List 集合 ColumnListHandler 将查询结果的指定列的数据封装到 List 集合中 MapHandler 将查询结果的第一行数据封装到 map 结合(key 是列名,value 是列值) MapListHandler 将查询结果的每一行封装到 map 集合(key 是列名,value 是列值),再将 map 集 合存入 List 集合 BeanMapHandler 将查询结果的每一行数据,封装到 User 对象,再存入 map 集合中(key 是列名, value 是列值) KeyedHandler 将查询的结果的每一行数据,封装到 map1 集合(key 是列名,value 是列值),然 后将 map1 集合(有多个)存入 map2 集合(只有一个) ScalarHandler 封装类似 count、avg、max、min、sum.函数的执行结果 7.1 初识DBUtils 7.1.2 DBUtils核心成员
7.2DBUtils实现DML操作返回目录7.2.1创建QueryRunner对象.7.2.2DBUtils实现DML操作
7.2 DBUtils实现DML操作 7.2.1 创建QueryRunner对象 返回目录 7.2.2 DBUtils实现DML操作