概述java
DBUtils是Java編程中的數據庫操做實用工具,小巧簡單實用。sql
DBUtils封裝了對JDBC的操做,簡化了JDBC操做,能夠少寫代碼。數據庫
DBUtils三個核心功能介紹apache
QueryRunner核心類編程
ResultSetHandler結果集處理類數組
ArrayHandler:適合取1條記錄,把結果集中的第一行數據轉成對象數組。工具
ArrayListHandler:適合取多條記錄,把結果集中的每一行數據都轉成一個對象數組,再存放到List中。spa
BeanHandler:將結果集中的第一行數據封裝到一個對應的JavaBean實例中(把每條記錄封裝成對象,適合取一條記錄)code
BeanListHandler:將結果集中的每一行數據都封裝到一個對應的JavaBean實例中,存放到List裏。//重點對象
MapHandler:將結果集中的第一行數據封裝到一個Map裏,key是列名,value就是對應的值。//重點
MapListHandler:將結果集中的每一行數據都封裝到一個Map裏,而後再存放到List
ColumnListHandler:將結果集中某一列的數據存放到List中。
KeyedHandler(name):將結果集中的每一行數據都封裝到一個Map裏(List<Map>),再把這些map再存到一個map裏,其key爲指定的列。
ScalarHandler:將結果集第一行的某一列放到某個對象中。//重點
package com.oterman.DButils; import java.sql.SQLException; import java.util.List; import java.util.Map; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.ArrayHandler; import org.apache.commons.dbutils.handlers.ArrayListHandler; import org.apache.commons.dbutils.handlers.BeanHandler; import org.apache.commons.dbutils.handlers.BeanListHandler; import org.apache.commons.dbutils.handlers.MapHandler; import org.apache.commons.dbutils.handlers.MapListHandler; import org.apache.commons.dbutils.handlers.ScalarHandler; import org.junit.Test; import com.mchange.v2.c3p0.ComboPooledDataSource; /** * 該程序介紹ResultSetHandler的各個實現類; * @author 大蘑菇 * */ public class RSHandlerDemo { //--7.ScalarHandler:將查詢的結果的第一行的某一列放到一個對象中;精肯定位到某個值; @Test public void query7() throws SQLException{ QueryRunner runner=new QueryRunner(new ComboPooledDataSource()); String name=(String)runner.query("select * from account",new ScalarHandler(2)); System.out.println(name); } //--6.MapListHandler:將查詢的結果的每一行存入到一個map中,鍵爲列名,值爲各列值;而後再將map存入list中; @Test public void query6() throws SQLException{ QueryRunner runner=new QueryRunner(new ComboPooledDataSource()); List<Map<String,Object>> map=runner.query("select * from account",new MapListHandler()); System.out.println(map); } //--5.MapHandler:將查詢的結果的第一行存入到一個map中,鍵爲列名,值爲各列值; @Test public void query5() throws SQLException{ QueryRunner runner=new QueryRunner(new ComboPooledDataSource()); Map<String,Object> map=runner.query("select * from account",new MapHandler()); System.out.println(map); } //--4.BeanListHandler:將查詢的結果的每一行封裝到一個javabean對象中,而後再將這些對象存入list中; @Test public void query4() throws SQLException{ QueryRunner runner=new QueryRunner(new ComboPooledDataSource()); List<Account> list=runner.query("select * from account",new BeanListHandler<Account>(Account.class)); System.out.println(list); } //--3.BeanHandler:將查詢的結果的第一行封裝到一份javabean對象中; @Test public void query3() throws SQLException{ QueryRunner runner=new QueryRunner(new ComboPooledDataSource()); Account account=runner.query("select * from account",new BeanHandler<Account>(Account.class)); System.out.println(account); } //--2.ArrayListHandler:將查詢的結果的每一行放到一個數組中,而後再將數組放到集合中; @Test public void query2() throws SQLException{ QueryRunner runner=new QueryRunner(new ComboPooledDataSource()); List<Object[]> list=runner.query("select * from account",new ArrayListHandler()); System.out.println(list); } //--1.ArrayHandler:將查詢的結果的第一行放到一個數組中 @Test public void query1() throws SQLException{ QueryRunner runner=new QueryRunner(new ComboPooledDataSource()); Object[] array=runner.query("select * from account",new ArrayHandler()); System.out.println(array); } }
2018-10-15