QuerryRunner Tools

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<String, Object> queryMap(String sql, Object params[]) {
        Map<String, Object> 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<Map<String,Object>>
     * @param sql
     * @param params
     * @return
     */
    public List<Map<String, Object>> queryListMap(String sql, Object params[]){
        List<Map<String, Object>> 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<String> queryListString(String sql, Object params[]) {
        List<String> list = null;

        try {
            list = qr.query(TransactionManager.getInstance().get(), sql, new ColumnListHandler<String>(1), params);
        } catch (SQLException ex) {
            Logger.getLogger(QrUtil.class.getName()).log(Level.SEVERE, null, ex);
        } finally{
            TransactionManager.getInstance().close();
        }

        return list;
    }

}

使用方式:

public List<DjNsrxx> 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<? ");

        Object params[] = {count};

        return (List<DjNsrxx>) QrUtil.getInstance().queryBeanList(sb.toString(), params, DjNsrxx.class);
    }
时间: 2024-11-07 19:09:48

QuerryRunner Tools的相关文章

Hibernate Tools for Eclipse的使用

Hibernate Tools的官方网站:http://hibernate.org/tools/Step1.安装好Hibernate Tools,建立一个Dynamic web project,工程名为"test".Step2.以Mysql为示例,建立相应的测试数据库及表,如下所示: [sql] view plain copy mysql> use test; Database changed mysql> show tables; +----------------+ |

VMware Tools的安装及其作用(redhat5.5为例)

VMware Tools是VMware虚拟机中自带的一种增强工具,相当于VirtualBox中的增强功能(Sun VirtualBox Guest Additions),是VMware提供的增强虚拟显卡和硬盘性能.以及同步虚拟机与主机时钟的驱动程序. 只有在VMware虚拟机中安装好了VMware Tools,才能实现主机与虚拟机之间的文件共享,同时可支持自由拖拽的功能,鼠标也可在虚拟机与主机之前自由移动(不用再按ctrl+alt),且虚拟机屏幕也可实现全屏化. 在vm上安装完redhat系统后

com.android.tools.build:gradle:X.XX.XX:gradle.jar

在使用Android Studio 这个IDE时,出现com.android.tools.build:gradle:X.XX.XX:gradle.jar 插件无法下载问题 可能的原因就是网速不好或者依赖仓库的下载网址被墙了,可以配置代理试试.比如,android studio 定义的默人依赖仓库为jcenter()仓库.如下 打开项目下的 build.gradle文件,不是Module下 allprojects { repositories { jcenter() } } 网上搜索到一些方法如下

虚拟机 安装 VMware Tools

为什么要安装VMware Tools ?    在操作虚拟机的时候是否会有些让你几乎不能忍受的地方,比如:鼠标移动不是很灵活.你的鼠标每次切换到真机都要按"Ctrl + Alt"键,这样是不是非常的麻烦.但是只要你在虚拟机中安装VMware Tools 后,所有的问题全都解决.这样可以帮助你更加轻松和流畅的来使用你的虚拟机. 安装环境    1)正常运行的虚拟机    2)linux版本的操作系统(5.9举例) 安装步骤     1 点击虚拟机安装VMware tools,此时会在li

vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装。的解决方法

vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装.的解决方法_华英雄_新浪博客 http://blog.sina.com.cn/s/blog_54bf02090100xlqy.html   现象:VMware Workstation 8.0在安装VMware Tools时弹出对话框,提示"安装程序无法继续.Microsoft Runtime DLL安装程序未能完成安装."如图: 原因:虚拟机中Windows Installer服务

linux Performance tools

废话不说首先看图,这是摘自以为大神的ppt,原文在这里 http://www.brendangregg.com/Slides/SCaLE_Linux_Performance2013.pdf 准备把上面列举出来的图片挨个写blog 分享一下,哦也 linux Performance tools,码迷,mamicode.com

手把手交大家在mac上用VMWare虚拟机装Linux-Ubuntu--及Ubuntu安装Vmware Tools[转载+一些修改](版本:17.04)

现在网上的虚拟机有很多,本人测试VMware在Mac上表现良好,推荐给大家 需要的工具 软件 vmware fusion for Mac (直接百度搜就好) 软件 Ubuntu 系统光盘 或 镜像文件(.iso) 安装Vmware 1.下载vmware fusion for Mac 网上有很多,大家自己找吧,最好找汉化版 2.安装Vmware 3.下面什么下一步啦,同意啦我就不说啦,为大家准备啦注册码 (我下载的VMware fusion 8 其他版本问度娘吧,有很多) Fusion 8序列号:

Download the Hibernate Tools

首先去官网上下载最新版本的Hibernate Tools JBoss Tools 4.5.0.Final Requirements: Java 8 and Eclipse Oxygen 4.7 有 4 中方法 下载Hibernate  Tools 1) Eclipse Market Place Drag and drop this icon into your active Eclipse Oxygen 4.7 workspace, or alternatively, search for "J

虚拟机VMware Tools安装

1.在虚拟机选项卡中,点击安装 VMware Tools/或者点击运行输入D:\setup.exe 2.等弹出安装向导后点击下一步 3.我们只需要托拽功能 所有选择典型安装 点击下一步 4.开始安装 5.等待安装完成 6.安装完成 7.安装完成后重启电脑就好了