zoukankan      html  css  js  c++  java
  • JDBCTemplate.java

    package com.pk.xjgs.util;
    
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.List;
    
    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.ScalarHandler;
    
    
    public class JDBCTemplate {
        private QueryRunner queryRunner = new QueryRunner();
    
        /**
         * @param sql
         *            sql语句
         * @param params
         *            参数列表 按照sql中出现的顺序去写
         * @return
         * @function:处理增删改的sql语句的方法
         */
        public int update(String sql, Object[] params) {
            int i = 0;
            Connection conn = null;
            try {
                conn = DBConn.getConn();
                i = queryRunner.update(conn, sql, params);
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                DBConn.closeConn(conn);
            }
            return i;
        }
    
        /**
         * @param sql
         * @param params
         * @return
         * @function:执行批处理的方法
         */
        public int[] bacth(String sql, Object[][] params) {
            int[] i = null;
            Connection conn = null;
            try {
                conn = DBConn.getConn();
                i = queryRunner.batch(conn, sql, params);
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                DBConn.closeConn(conn);
            }
            return i;
        }
    
        /**
         * @param sql
         * @param params
         * @param requiredType
         *            返回的对象类
         * @return 返回对象
         * @function:返回对象的查询sql
         */
        @SuppressWarnings("unchecked")
        public Object queryForBean(String sql, Object[] params, Class requiredType) {
            Object object = null;
            Connection conn = null;
            try {
                conn = DBConn.getConn();
                object = queryRunner.query(conn, sql,
                        new BeanHandler(requiredType), params);
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                DBConn.closeConn(conn);
            }
            return object;
        }
    
        /**
         * @param sql
         * @param params
         * @param requiredType
         * @return
         * @function:返回对象的集合
         */
        @SuppressWarnings("unchecked")
        public List queryForBeanList(String sql, Object[] params, Class requiredType) {
            Connection conn = null;
            List list = null;
            try {
                conn = DBConn.getConn();
                list = (List) queryRunner.query(conn, sql, new BeanListHandler(
                        requiredType), params);
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                DBConn.closeConn(conn);
            }
            return list;
        }
    
        /**
         * @param sql
         * @param params
         * @param colName
         *            要查询的字段的名字
         * @return
         */
        public Object queryForObject(String sql, Object[] params) {
            Connection conn = null;
            Object object = null;
            try {
                conn = DBConn.getConn();
                object = queryRunner.query(conn, sql, new ScalarHandler(1),
                        params);
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                DBConn.closeConn(conn);
            }
            return object;
        }
    
        /**
         * @param sql
         * @param params
         * @return
         * @function:查询组函数的方法  比如 select count(id) from userinfo
         */
        public int count(String sql, Object[] params) {
    
            Object o = queryForObject(sql, params);
            if (o instanceof Integer) {
                return (Integer) o;
            }
            if (o instanceof Long) {
                Long l = (Long) o;
                return l.intValue();
            }
    
            String s = (String) o;
            try {
                return Integer.parseInt(s);
            } catch (NumberFormatException e) {
                return 0;
            }
        }
    }
    View Code
  • 相关阅读:
    Android 的快速增长让一些开发人员担忧 狼人:
    Android程序开发入门教程 狼人:
    2010:Android 商机之年 狼人:
    控制力的较量 Android上的博弈 狼人:
    深度解析Windows Phone 7 开发 狼人:
    图解iPhone开发入门教程 狼人:
    用Android LiveCD体验Android 操作系统的魅力 狼人:
    Android 教程之实现动作感应技术 狼人:
    Android版多功能日历,欢迎大家测试 狼人:
    iPhone、Windows Mobile、Symbian、Android移动开发前景分析 狼人:
  • 原文地址:https://www.cnblogs.com/xxy94077776/p/3395575.html
Copyright © 2011-2022 走看看