zoukankan      html  css  js  c++  java
  • DBCP 与 DBUtils 结合 配置

     pheonix_jdbc.properties 文件

    driverClassName=org.apache.phoenix.jdbc.PhoenixDriver
    url=jdbc:phoenix:10.1.20.129,10.1.20.128,10.1.20.44:2181
    username=user
    password=pass
    initialSize=10
    maxIdle=20
    minIdle=5
    maxActive=50
    logAbandoned=true
    removeAbandoned=true
    removeAbandonedTimeout=180
    maxWait=1000


    PhoenixQueryUtils:

    public class PhoenixQueryUtils {
    
        private static BasicDataSource dataSource = null;
        private static QueryRunner runner;
    
        private PhoenixQueryUtils() {
        }
    
        private synchronized static void init() throws SQLException {
            if (dataSource != null) {
                try {
                    dataSource.close();
                } catch (SQLException ex) {
                    DbUtils.printStackTrace(ex);
                }
            }
            dataSource = null;
            InputStream in = Object.class.getResourceAsStream("/pheonix_jdbc.properties");
            Properties props = new Properties();
            try {
                props.load(in);
                dataSource = BasicDataSourceFactory.createDataSource(props);
                runner = new QueryRunner(dataSource);
            } catch (IOException ex) {
                throw new SQLException(ex);
            } catch (Exception ex) {
                throw new SQLException(ex);
            }
    
        }
    
        public static List<Object[]> getAllResults(String sql, Object[] params) throws SQLException {
            if (runner == null) {
                init();
            }
            List<Object[]> ojbs = runner.query(sql, new ArrayListHandler(), params);
            return ojbs;
        }
    
        public static Object[] getFirstResult(String sql, Object[] params) throws SQLException {
            if (runner == null) {
                init();
            }
            Object[] ojbs = runner.query(sql, new ArrayHandler(), params);
            return ojbs;
        }
    
        public static Map<String, Object> getFirstResultMap(String sql, Object[] params) throws SQLException {
            if (runner == null) {
                init();
            }
            Map<String, Object> map = runner.query(sql, new MapHandler(), params);
            return map;
        }
    
        public static Object getResultMaps(String sql, Object[] params) throws SQLException {
            if (runner == null) {
                init();
            }
            List<Map<String, Object>> list = runner.query(sql, new MapListHandler(), params);
            return list;
        }
    
        public static synchronized Connection getConnection() throws SQLException, IOException, Exception {
            Connection conn = null;
            if (dataSource == null) {
                init();
            }
            if (dataSource != null) {
                conn = dataSource.getConnection();
            }
            return conn;
        }
    
    }


    用例:

    public static void main(String[] args) {
            
            try {
                List<Object[]> list = PhoenixQueryUtils.getAllResults("select id,   a,  b ,  c ,  d  from test ",
                        new Object[]{});
                System.out.println("id  	 a 	  b 	 c 	 d");
                for (Object[] objs : list) {
                    for (Object obj : objs) {
                        System.out.print(obj + "	");
                    }
                    System.out.println();
                }
            } catch (SQLException ex) {
                DbUtils.printStackTrace(ex);
            }
            System.exit(0);
        }


    输出:

    id  	 a 	  b 	 c 	 d
    5555	55	55	55	55555555
    1000010	20	30	50	1415248098439
    1000011	22	33	55	1415248098440
    1000012	24	36	60	1415248098441
    1000013	26	39	65	1415248098441
    1000014	28	42	70	1415248098442
    1000015	30	45	75	1415248098443
    1000016	32	48	80	1415248098443
    1000017	34	51	85	1415248098444
    1000018	36	54	90	1415248098444
    1000019	38	57	95	1415248098445
    1000020	40	60	100	1415248098446
    1000021	42	63	105	1415248098446
    1000022	44	66	110	1415248098447
    1000023	46	69	115	1415248098447
    1000024	48	72	120	1415248098448
    1000025	50	75	125	1415248098449
    1000026	52	78	130	1415248098449
    1000027	54	81	135	1415248098450
    1000028	56	84	140	1415248098450




  • 相关阅读:
    命令行选项
    损坏的RAID5
    Codeforces Round #600 (Div. 2)
    python 数据分析
    xor or and 线段树
    CCPC哈尔滨E题
    二维偏序
    Codeforces Round #592 (Div. 2)
    Codeforces Round #597 (Div. 2)
    pycharm 安装激活
  • 原文地址:https://www.cnblogs.com/leeeee/p/7276382.html
Copyright © 2011-2022 走看看