博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QuerryRunner Tools
阅读量:7062 次
发布时间:2019-06-28

本文共 5317 字,大约阅读时间需要 17 分钟。

package com.ydbg.gis.utils;import java.sql.SQLException;import java.util.List;import java.util.Map;import java.util.logging.Level;import java.util.logging.Logger;import org.apache.commons.dbutils.QueryRunner;import org.apache.commons.dbutils.handlers.BeanHandler;import org.apache.commons.dbutils.handlers.BeanListHandler;import org.apache.commons.dbutils.handlers.ColumnListHandler;import org.apache.commons.dbutils.handlers.MapHandler;import org.apache.commons.dbutils.handlers.MapListHandler;import org.apache.commons.dbutils.handlers.ScalarHandler;import org.apache.commons.lang.NumberUtils;/** * @author  y * @date    2015-5-10 10:43:04 * @version V1.0 * @desc    QuerryRunner 工具类 */public final class QrUtil {    private static final QueryRunner qr = new QueryRunner();        private static class QrUtilHolder{        private static final QrUtil instance = new QrUtil();    }        public static QrUtil getInstance(){        return QrUtilHolder.instance;    }        /**     * 执行 insert,delete,update     * @param sql     * @param params     * @return     */    public int update(String sql, Object params[]) {        int i = -1;                try {            i = qr.update(TransactionManager.getInstance().get(), sql, params);        } catch (SQLException ex) {            Logger.getLogger(QrUtil.class.getName()).log(Level.SEVERE, null, ex);        } finally{            TransactionManager.getInstance().close();        }                return i;    }        /**     * 执行多条的 insert,update     * @param sql     * @param params     * @return     */    public int batch(String sql, Object params[][]) {        int i = -1;                try {            i = qr.batch(TransactionManager.getInstance().get(), sql, params).length;        } catch (SQLException ex) {            Logger.getLogger(QrUtil.class.getName()).log(Level.SEVERE, null, ex);        } finally{            TransactionManager.getInstance().close();        }                return i;    }        /**     * 查询一个实体Bean,返回结果要进行强制类型转换     * @param sql     * @param params     * @param clazz     * @return     */    public Object queryBean(String sql, Object params[], Class clazz) {        Object obj = null;                try {            obj = qr.query(TransactionManager.getInstance().get(), sql, new BeanHandler(clazz), params);        } catch (SQLException ex) {            Logger.getLogger(QrUtil.class.getName()).log(Level.SEVERE, null, ex);        } finally{            TransactionManager.getInstance().close();        }                return obj;    }        /**     * 查询一个实体Bean Array,返回结果要进行强制类型转换     * @param sql     * @param params     * @param clazz     * @return     */    public Object queryBeanList(String sql, Object params[], Class clazz) {        Object obj = null;                try {            obj = qr.query(TransactionManager.getInstance().get(), sql, new BeanListHandler(clazz), params);        } catch (SQLException ex) {            Logger.getLogger(QrUtil.class.getName()).log(Level.SEVERE, null, ex);        } finally{            TransactionManager.getInstance().close();        }                return obj;    }            /**     * 获取一个Map     * @param sql     * @param params     * @return     */    public Map
queryMap(String sql, Object params[]) { Map
map = null; try { map = qr.query(TransactionManager.getInstance().get(), sql, new MapHandler(), params); } catch (SQLException ex) { Logger.getLogger(QrUtil.class.getName()).log(Level.SEVERE, null, ex); } finally{ TransactionManager.getInstance().close(); } return map; } /** * 获取List
> * @param sql * @param params * @return */ public List
> queryListMap(String sql, Object params[]){ List
> list = null; try { list = qr.query(TransactionManager.getInstance().get(), sql, new MapListHandler(), params); } catch (SQLException ex) { Logger.getLogger(QrUtil.class.getName()).log(Level.SEVERE, null, ex); } finally{ TransactionManager.getInstance().close(); } return list; } /** * 进行查询操作,返回一个数值(一般用于select count(id) from table的处理) * @param sql * @param params * @return */ public int queryForInt(String sql, Object params[]){ Object obj = null; try { obj = qr.query(TransactionManager.getInstance().get(), sql, new ScalarHandler(), params); } catch (SQLException ex) { Logger.getLogger(QrUtil.class.getName()).log(Level.SEVERE, null, ex); } finally{ TransactionManager.getInstance().close(); } return NumberUtils.stringToInt("" + obj, 0); } /** * 获取单列值 * @param sql * @param params * @return */ public List
queryListString(String sql, Object params[]) { List
list = null; try { list = qr.query(TransactionManager.getInstance().get(), sql, new ColumnListHandler
(1), params); } catch (SQLException ex) { Logger.getLogger(QrUtil.class.getName()).log(Level.SEVERE, null, ex); } finally{ TransactionManager.getInstance().close(); } return list; } }

使用方式:

public List
getDjNsrxxList(int count) { sb.setLength(0); sb.append(" select nsrdzdah,scjydz from gis_dj_nsrxx ") .append(" where (lng is null or lat is null) and rownum
) QrUtil.getInstance().queryBeanList(sb.toString(), params, DjNsrxx.class); }

 

转载地址:http://cbnll.baihongyu.com/

你可能感兴趣的文章
08.Android之View事件问题
查看>>
[ JavaScript ] 数据结构与算法 —— 链表
查看>>
Java程序员幽默爆笑锦集
查看>>
小程序button引导用户授权
查看>>
机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
查看>>
我是如何设计 Upload 上传组件的
查看>>
彻底搞懂浏览器Event-loop
查看>>
java2019面试题北京
查看>>
Promise面试题2实现异步串行执行
查看>>
ECS应用管理最佳实践
查看>>
JavaSE小实践1:Java爬取斗图网站的所有表情包
查看>>
微信小程序上拉加载:onReachBottom详解+设置触发距离
查看>>
python docx文档转html页面
查看>>
【跃迁之路】【463天】刻意练习系列222(2018.05.14)
查看>>
windows-nginx-https-本地配置
查看>>
JDK9: 集成 Jshell 和 Maven 项目.
查看>>
【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
查看>>
回流、重绘及其优化
查看>>
入口文件开始,分析Vue源码实现
查看>>
微信开放平台全网发布【失败】的几点排查方法
查看>>