1. 程式人生 > >QueryRunner類的查詢三種方式的學習和理解

QueryRunner類的查詢三種方式的學習和理解

/*
QueryRunner資料查詢操作:
呼叫QueryRunner類方法Query(Connection con,String sql,ResultSetHandler r,Object...params)
ResultSetHandler r 結果集的處理方式,傳遞ResultSetHandler介面實現類
Object...params SQL語句中的?佔位符
注意:Query方法返回值,返回的是T泛型,具體返回值型別,跟隨結果集處理方式變化。
*/
public class QueryRunnerDemo1{
/*
         1、建立物件
         QueryRunner qr=new QueryRunner();
         2、封裝sql語句
         3、呼叫查詢方法
*/
private static Connection con=xxx.getConnection();
public static void main(String[] args) {
              arrayHandler(); 
}
public static void arrayHandler()throws SQLException{
QueryRunner qr=new QueryRunner();
String sql="select * from sort";
//呼叫方法Query執行查詢,傳遞連線物件,SQL語句,結果集處理方式的實現類
//返回物件陣列
Object[] result=qr.query(con,sql,new ArrayHandler()) ;
for(object obj:result){
System.out.print(obj+"\t");
}
}
/*
第二種處理方法:ArrayListHandler
將結果集的每一行,封裝到物件陣列中,出現很多物件陣列
物件陣列儲存到List集合
*/
public static void arrayListHandler()throws SQLException{
QueryRunner qr=new QueryRunner();
String sql="select * From sort ";
//呼叫query方法,結果集處理的引數上,傳遞實現類ArrayListHandler
//方法返回值,每行是一個物件陣列,儲存到List


List<Object[]>result=qr.query(con,sql,new ArrayListHandler());
//集合遍歷
for(Object[] objs:result){
for(Object obj:objs){
System.out.println(obj+"  ");
}
System.out.println();
}
}  
/*
第三種處理方法:BeanHandler
將結果集的第一行封裝成JavaBean物件




*/
public static void beanHandler()throws SQLxception{
/*
          1、建立物件
          2、封裝sql語句
          3、呼叫方法BeanHandler()
*/
QueryRunner qr=new QueryRunner();
String sql="  ";
//呼叫方法,傳遞結果集實現類BeanHandler;
/*
            BeanHandler結果集,資料表第一行,封裝到javaBean物件中結果集第一行封裝成sort類物件。
*/
//BeanHandler(Class<T> type)   ----一定要注意引數
Sort s=qr.query(con,sql,new BeanHandler<sort>(Sort.class));
System.out.print(s);
}
}