关于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数据查询以及常用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WPF中ContextMenu(右键菜单
- 下一篇: 性能测试学习05_lr(根据接口文档写脚