一:简介
●因为我们在使用 JDBC 的时候,有 7-8 个步骤,太麻烦了,所以有开发者将这些比较繁杂的步骤封装到某个工程中(框架)。
●Commons DbUtils 是 Apache 组织提供的一个对 JDBC 进行简单封装的开源工具类库,使用它能够简化 JDBC 应用程序的开发,同时也不会影响程序的性能。
●下载:http://commons.apache.org/
●必须要掌握的三个类/接口
●DBUtils:其实是一个工具类
●QueryRunner:用于执行 SQL 语句,并且得到结果
●ResultSetHandler:针对不同的数据对象,提供了很多实现类可供使用
二、DBUtils 的使用(增删改)
●1. insert 插入语句
public void insert() throws SQLException {
QueryRunner qr = new QueryRunner();
String sql = "insert into tb_student(username, password) values (?, ?)";
Object[] params = { "hello", 123 };
qr.execute(conn, sql, params);
DbUtils.close(conn);
}
●2. update 更新语句
public void update() throws SQLException {
QueryRunner qr = new QueryRunner();
String sql = "update tb_student set username = ?, password = ? where id = ?";
Object[] params = { "温老板", 250, 3};
int i = qr.execute(conn, sql, params);
System.out.println(i);
DbUtils.close(conn);
}
●3. delete 删除语句
public void delete() throws SQLException {
QueryRunner qr = new QueryRunner();
String sql = "delete from tb_student where id = ?";
int i = qr.execute(conn, sql, 5);
DbUtils.close(conn);
}
三、DBUtils 的查询
●主要是使用 ResultSetHandler 来实现。此接口,包含多个实现类,每个实现类都有自己独有的功能,具体分析如下:
●1)ArrayHandler:将获取的结果中的第一条记录封装到一个 Object[] 数组中,数组中的元素就是记录中的每一个字段的值。
●2)ArrayListHandler:将获取的结果中的每一条记录封装到一个 Object[] 数组中,数组中的每个元素就是记录中的每一个字段的值。
●3)BeanHandler:将获取的结果中的第一条记录封装到指定的一个 JavaBean 中。比如,封装到 Student。
4)BeanListHandler:将获取的结果中的每一条记录封装到指定的 JavaBean 中,然后将这些 JavaBean 放到一个集合中存储。
●5)ColumnListHandler:将获取的结果中的列所对应的字段值,封装到一个 List 集合中存储。
●6)MapHandler:将获取的结果中的第一条记录封装到一个 Map 集合中,主要是使用 key 键和 value 值来存储数据。
●7)MapListHandler:将获取的结果中的每一条记录封装到一个 Map 集合中,主要是使用 key 键和 value 值来存储数据。最终,将所有的值,放在 List 集合中进行存储。
●8)ScalarHandler:主要是用于聚合函数,比如 count(*)、sum(*),用于处理单数据的。
网友评论