1. 程式人生 > 實用技巧 >QueryRunner類結果集處理的八種方法

QueryRunner類結果集處理的八種方法

在連線資料庫的時候(MySQL)時,會遇到的問題。

呼叫QueryRunner的方法是:

query(Connection con,String Sql,ResultSetHandler r,Object.params)

MapListHandler

將結果集每一行儲存到Map集合中,鍵:列名;值:資料

public static void mapListHandler()throws SQLException{
    QueryRunner qr = new QueryRunner();
    String sql = "select * from db";
    Lsit<Map<String,Object>> list = qr.query(con,sql,new MapListHandler());
    for(Map<String,Object> map:list){
        System.out.print(key+'..'+map.get(key));
    }
    System.out.prinln();
}

MapHandler

將結果集的第一行資料,封存到Map集合中

public static void mapHandler()throws SQLException{
    QueryRunner qr = new QueryRunner();
    String sql = "select * from db";
    Map map = qr.query(con,sql,new MapHandler());
    for(String key:map.keySet()){
        System.out.print(key+'..'+map.get(key));
    }
    System.out.prinln();
}

ScalarHandler

查詢後,只有一個結果

Public static void scalarHandler() throws SQLException(){
    QueryRunner qr = new QueryRunner();
    String sql = "select * from db";
    long count = qr.query(con,sql,new ScalarHandler());
    System.out.prinln(count);
}

ColumnListHandler

結果集,指定列的資料儲存到List集合中,

List每個列資料型別不同。

public static void columnListHandler()throws SQLException(){
    QueryRunner qr = new QueryRunner();
    String sql = "select * from db";
    List<Object> list = qr.query(con,sql,new ColumnListHandler<Object>("name"));
    for(Object obj:list){
        System.out.println(obj);
    }
    System.out.prinln(obj);
}

BeanListHandler

結果集每一行資料,封裝JavaBean物件

多個JavaBean物件,儲存到List集合

public static void columnListHandler()throws SQLException(){
    QueryRunner qr = new QueryRunner();
    String sql = "select * from db";
    List list = qr.query(con,sql,new BeanListHandler<Sort>(Sort.class));
    for(Sort s:list){
        System.out.println(s);
    }
}

BeanHandler

將結果集的第一行資料,封裝成JavaBean物件

public static void beanHandler()throws SQLException{
    QueryRunner qr = new QueryRunner();
    String sql = "SELECT * FROM sort ";
    Sort s = qr.query(con, sql, new BeanHandler<Sort>(Sort.class));
    System.out.println(s);
}

ArrayListHandler

將結果集的每一行,封裝到物件陣列中

public static void arrayListHandler()throws SQLException{
	QueryRunner qr = new QueryRunner();
	String sql = "SELECT * FROM sort";
    List<Object[]> result=  qr.query(con, sql, new ArrayListHandler());
    for( Object[] objs  : result){
        for(Object obj : objs){
            System.out.print(obj+"  ");
        }
        System.out.println();
    }
}

ArrayHandler

將結果集的第一行儲存到物件陣列中 Object[]

public static void arrayHandler()throws SQLException{
    QueryRunner qr = new QueryRunner();
    String sql = "SELECT * FROM sort";
    Object[] result = qr.query(con, sql, new ArrayHandler());
    for(Object obj : result){
    	System.out.print(obj);
    	}
    }
}