commons-dbutils包是Apache开源组织提供的用于操作数据库的工具包。简单来讲,这个工具包就是用来更加方便我们操作数据库的,最近工作中使用了一下,感觉确实方便很多,基本告别自己封装JDBC代码对数据库进行增删改查了。代码看着也很简洁。
例如:
增删改查使用的类:QueryRunner类+ResultSetHandler类,使用这俩类就可以解决掉。
QueryRunner类的query()方法:new QueryRunner().query(Connection conn, String sql, ResultSetHandler rsh)
query方法后面参数中加一个Connection连接,是在获取不到数据源的情况下,也就是说,QueryRunner的实例化构造函数使用无参的那个,下面我的实现代码就是用的这种方法。
当然还有一种实例化:new QueryRunner(new Datasource()).query(String sql, ResultSetHandler rsh)
query方法中的参数 ResultSetHandler
参数中加上ResultSetHandler接口的实现类参数(下面这些实现类),执行完SQL后,返回的数据就是已经封装好的我们想要的结果了。
ArrayHandler :将ResultSet中第一行的数据转化成对象数组
ArrayListHandler将ResultSet中所有的数据转化成List,List中存放的是Object[]
BeanHandler :将ResultSet中第一行的数据转化成Bean对象
BeanListHandler :将ResultSet中所有的数据转化成List
ColumnListHandler :将ResultSet中某一列的数据存成List
KeyedHandler :将ResultSet中存成映射,key为某一列对应为Map,Map中存放的是数据
MapHandler :将ResultSet中第一行的数据存成Map
MapListHandler :将ResultSet中所有的数据存成List