日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于QueryRunner数据查询以及常用方法

發布時間:2025/3/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于QueryRunner数据查询以及常用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

QueryRunner數據查詢操作
調用QueryRunner類方法query(Connection con,String sql,ResultSetHandler r, Object.params)
ResultSetHandler r 結果集的處理方式,傳遞ResultSetHandler接口實現類
Object.params SQL語句中的?占位符
注意: query方法返回值,返回的是T 泛型, 具體返回值類型,跟隨結果集處理方式變化

第一種處理方法,MapListHandler將結果集每一行存儲到Map集合,鍵:列名,值:數據 Map集合過多,存儲到List集合
public?static?void?mapListHandler()throws SQLException{
? ?QueryRunner qr =?new?QueryRunner();
? ?String?sql =?"SELECT ?* FROM sort";
? ?//調用方法query,傳遞結果集實現類MapListHandler
? ?//返回值List集合, 存儲的是Map集合
? ?List<Map<String,Object>> list = qr.query(con, sql,?new?MapListHandler());
? ?//遍歷集合list
? ?for(?Map<String,Object> map : list ){
? ? ?for(String?key : map.keySet()){
? ? ? ?System.out.print(key+"..."+map.get(key));
? ? ?}
? ? ?System.out.println();
? ?}?
?}

第二種處理方法,MapHandler將結果集第一行數據,封裝到Map集合中 Map<鍵,值> 鍵:列名? 值:這列的數據
public?static?void?mapHandler()throws SQLException{
? ?QueryRunner qr =?new?QueryRunner();
? ?String sql =?"SELECT ?* FROM sort";
? ?//調用方法query,傳遞結果集實現類MapHandler
? ?//返回值: Map集合,Map接口實現類, 泛型
? ?Map<String,Object>?map?= qr.query(con, sql,?new?MapHandler());
? ?//遍歷Map集合
? ?for(String key :?map.keySet()){
? ? ?System.out.println(key+".."+map.get(key));
? ?}
?}

第三種處理方法,ScalarHandler對于查詢后,只有1個結果
public?static?void?scalarHandler()throws SQLException{
? ?QueryRunner qr =?new?QueryRunner();
? ?String sql =?"SELECT COUNT(*) FROM sort";
? ?//調用方法query,傳遞結果集處理實現類ScalarHandler
? ?Long temp = (Long)runner.query(sql, new ScalarHandler());
? ?System.out.println(temp?);
?}

第四種處理方法,ColumnListHandler?結果集,指定列的數據,存儲到List集合?List<Object> 每個列數據類型不同
public?static?void?columnListHandler()throws SQLException{
? ?QueryRunner qr =?new?QueryRunner();
? ?String?sql =?"SELECT * FROM sort "; ? ?
? ?//調用方法 query,傳遞結果集實現類ColumnListHandler
? ?//實現類構造方法中,使用字符串的列名
? ?List<Object> list = qr.query(con, sql,?new?ColumnListHandler<Object>("sname"));
? ?for(Object?obj : list){
? ? ?System.out.println(obj);
? ?}
?}

第五種處理方法,BeanListHandler結果集每一行數據,封裝JavaBean對象多個JavaBean對象,存儲到List集合
public?static?void?beanListHander()throws SQLException{
? ?QueryRunner qr =?new?QueryRunner();
? ?String sql =?"SELECT * FROM sort ";
? ?//調用方法query,傳遞結果集處理實現類BeanListHandler
? ?List<Sort>?list?= qr.query(con, sql,?new?BeanListHandler<Sort>(Sort.class));
? ?for(Sort s :?list){
? ? ?System.out.println(s);
? ?}
?}

第六種處理方法,BeanHandler將結果集的第一行數據,封裝成JavaBean對象注意: 被封裝成數據到JavaBean對象, Sort類必須有空參數構造
public?static?void?beanHandler()throws SQLException{
? ?QueryRunner qr =?new?QueryRunner();
? ?String sql =?"SELECT * FROM sort ";
? ?//調用方法,傳遞結果集實現類BeanHandler
? ?//BeanHandler(Class<T> type)?
? ?Sort s = qr.query(con, sql,?new?BeanHandler<Sort>(Sort.class));
? ?System.out.println(s);
?}

第七種處理方法,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.print(obj+" ?");
? ? ?}
? ? ?System.out.println();
? ?}
?}

第八種處理方法,ArrayHandler將結果集的第一行存儲到對象數組中? Object[]
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);
? ?}
?}

轉載于:https://www.cnblogs.com/ly133333333333333/p/9869346.html

總結

以上是生活随笔為你收集整理的关于QueryRunner数据查询以及常用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。