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);
- }
QuerryRunner Tools的更多相关文章
- 解决 Could not find com.android.tools.build:gradle 问题
今天拉同事最新的代码,编译时老是报如下错误: Error:Could not find com.android.tools.build:gradle:2.2.0.Searched in the fol ...
- 免费的精品: Productivity Power Tools 动画演示
Productivity Power Tools 是微软官方推出的 Visual Studio 扩展,被用以提高开发人员生产率.它的出现一定程度上弥补和完善了 Visual Studio 自身的不足, ...
- 2.Kali安装VMware tools(详细+异常处理)
dnt@MT:~$ cd /media/cdrom0 进入光驱内 dnt@MT:/media/cdrom0$ ls 查看当前目录下有哪些内容manifest.txt run_upgrader.sh V ...
- 第三篇:Entity Framework CodeFirst & Model 映射 续篇 EntityFramework Power Tools 工具使用
上一篇 第二篇:Entity Framework CodeFirst & Model 映射 主要介绍以Fluent API来实作EntityFramework CodeFirst,得到了大家一 ...
- Chrome Developer Tools:Timeline Panel说明
一.Timeline panel 概况 Timeline工具栏可以详细检测出Web应用在加载过程中,时间花费情况的概览.这些应用包括下载资源,处理DOM事件, 页面布局渲染或者向屏幕绘制元素. 如下图 ...
- linux-虚拟机centos6.5安装tools
1.在VMWare选VM -> Install VMWare Tools-,就会在桌面出现VMWare Tools图示让你安裝 2.进入CentOS桌面后,将光盘打开,看到了VMWareTool ...
- VMWare Tools 和 Shared folder(共享文件夹)
转自: http://www.51testing.com/html/38/225738-143732.html 使用vmwar下shared folders功能实现vmware中host与ghost间 ...
- 用hibernate tools生成对应的sql应用代码
参考资料: eclipse在线配置hibernate tools http://jingyan.baidu.com/article/db55b609959d154ba20a2f5d.html [图]H ...
- 解决Maven工程中报 Missing artifact jdk.tools:jdk.tools:
jdk.tools:jdk.tools是与JDK一起分发的一个JAR文件,可以如下方式加入到Maven项目中:<dependency> <groupId>jdk.tool ...
随机推荐
- vim 插件
自动补全插件更换:youcompleteme github:https://github.com/Valloric/YouCompleteMe
- Java:Date、Calendar、Timestamp的区别、相互转换与使用【转载】
1 Java.util.Date 包含年.月.日.时.分.秒信息 包含年.月.日信息. 继承自java.util.Date.在数据库相关操作中使用,如rs.getDate,ps.setDate等.rs ...
- 火狐解决 OCSP 回应包含过期信息的问题_firefox吧_百度贴吧
火狐解决 OCSP 回应包含过期信息的问题_firefox吧_百度贴吧 火狐解决 OCSP 回应包含过期信息的问题
- N - Marriage Match II - HDU 3081(最大流)
题目大意:有一些男孩和女孩玩一个游戏,每个女孩都可以挑一个男孩来进行这个游戏(所有人都要参加),女孩只会挑选她喜欢的男孩,并且她们认为她们朋友喜欢的男孩她们也是喜欢的(朋友的男朋友也是我的男朋友??? ...
- GitHub for Mac
GitHub for Mac 安装 1.从 mac.github.com 下载最新版本的 GitHub. 2.当你开启软件时,你可以选择用你的 GitHub 账户登录,或者新建一个账户. 3.在左侧, ...
- Kernel 4.9的BBR拥塞控制算法。
重要的事情说三遍! BBR并不能突破带宽限制!!! BBR并不能突破带宽限制!!! BBR并不能突破带宽限制!!! 它的功能如下: 1.在高丢包率与低速率的网络中提升传输效果,充分利用带宽. 2.降低 ...
- VB编写的验证码生成器
验证码(CAPTCHA)是“Completely AutomatedPublicTuring test to tell Computers andHumansApart”(全自动区分计算机和人类的图灵 ...
- Android消息机制(1)
在Android中,线程内部或者线程之间进行信息交互时经常会使用消息,这些基础的东西如果我们熟悉其内部的原理,将会使我们容易.更好地架构系统,避免一些低级的错误.在学习Android中消息机制之前,我 ...
- OpenStack Neutron DVR L2 Agent的初步解析 (一)
声明: 本博客欢迎转载,但请保留原作者信息! 作者:林凯 团队:华为杭州OpenStack团队 OpenStack Juno版本号已正式公布,这是这个开源云平台的10个版本号,在Juno版的Neutr ...
- Linux 磁盘挂载和mount共享
针对Linux服务器的磁盘挂载mount和共享做简单操作说明: 1. 查看已使用的磁盘情况 df –h 2. 查看所有磁盘 fdisk –l 3. 查看指定磁盘“/dev/xvde”的分区情 ...