zoukankan      html  css  js  c++  java
  • JDBC连接池的九种查询

    package JDBC_Demo;

    import java.sql.SQLException;
    import java.util.List;
    import java.util.Map;

    import org.apache.commons.dbutils.DbUtils;
    import org.apache.commons.dbutils.QueryRunner;
    import org.apache.commons.dbutils.handlers.ArrayHandler;
    import org.apache.commons.dbutils.handlers.ArrayListHandler;
    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.KeyedHandler;
    import org.apache.commons.dbutils.handlers.MapListHandler;
    import org.apache.commons.dbutils.handlers.ScalarHandler;

    import com.mchange.v2.c3p0.ComboPooledDataSource;

    public class TestQueryRunner2 {

    public static void main(String[] args) {
    	ComboPooledDataSource cp=new ComboPooledDataSource();
    	try {
    		DbUtils.loadDriver("com.mysql.jdbc.Driver");
    		cp.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/ch003?useUnicode=true&characterEncoding=UTF-8");
    		cp.setUser("root");
    		cp.setPassword("wsl123456");
    		cp.setInitialPoolSize(10);
    		cp.setMaxPoolSize(20);
    		cp.setMinPoolSize(2);
    		QueryRunner qr=new QueryRunner(cp);
    		String sql="select * from account";
    		/**
    		 * 第一种查询
    		 * ArrayHandler
    		 * 把结果集中的第一行数据转成对象数组。
    		 */
    		/*Object [] a=qr.query(sql,new ArrayHandler());
    		for(Object o:a) {
    			System.out.print(o+"	");
    		}
    		*/
    		/**
    		 * 第二种查询
    		 * ArrayListHandler
    		 * 把结果集中的每一行数据都转成一个数组,再存放到List中
    		 */
    		/*List<Object[]> l=qr.query(sql,new ArrayListHandler());
    		for(Object[] o:l) {
    			for(Object oo:o) {
    				System.out.print(oo+"	");
    			}
    			System.out.println();
    		 }*/
    		/**
    		 * 第三种查询
    		 * BeanHandler
    		 * 将结果集中的第一行数据封装到一个对应的JavaBean实例中
    		 */
    		Account a=qr.query(sql,new BeanHandler<Account>(Account.class));
    		System.out.println(a);
    		/**
    		 * 第四种查询
    		 * BeanListHandler
    		 * 将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。
    		 */
    		/*List<Account> ls=qr.query(sql,new BeanListHandler<Account>(Account.class));
    		for(Account a:ls) {
    			System.out.println(a);
    		}*/
    		/**
    		 * 第五种
    		 * ColumnListHandler
    		 * 将结果集中某一列的数据存放到List中。
    		 * <Integer>尖括号中的类型根据("cash")指定的列所属的类型来决定
    		 */
    		/*List<Integer> l=qr.query(sql,new ColumnListHandler<Integer>("cash"));
    		for(Integer o:l) {
    			System.out.println(o);
    		}*/
    		/**
    		 * 第六种
    		 * KeyedHandler
    		 * 将结果集中的每一行数据都封装到一个Map里,再把这些map再存到一个map里,其key为指定的key
    		 */
    		/*Map<String, Map<String, Object>> m=qr.query(sql,new KeyedHandler<String>(4));
    		for(String a:m.keySet()) {
    			System.out.println(m.get(a));
    		}*/
    		/**
    		 * 第七种
    		 * MapHandler
    		 */
    		/*Map m = qr.query(sql, new MapHandler());
    		System.out.println(m.get("id")+"  "+m.get("name")+"  "+m.get("cash"));*/
    		/**
    		 * 第八种
    		 * MapListHandler
    		 */
    		/*List<Map<String, Object>> a=qr.query(sql,new MapListHandler());
    		for(Map<String, Object> m:a) {
    			System.out.println(m.get("name")+" "+m.get("cash"));
    		}*/
    		/**
    		 * 结果集第九种处理方法、
    		 * 对于查询后,只有一个结果
    		 */
    		/*String st = "select count(*) from account";
    		long a =  qr.query(st, new ScalarHandler<Long>());
    		System.out.println(a);
    		*/
    	} catch (Exception e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	}
    
    }
    
    public static ComboPooledDataSource getDataSource() {
    	ComboPooledDataSource cbp=new ComboPooledDataSource();
    	
    	return null;
    }
    

    }

  • 相关阅读:
    解决MyBatis的Mapper XML错误,系统起不来,也不报错问题
    tomcat启动卡在“INFO com.alibaba.druid.pool.DruidDataSource
    加速github访问速度
    LAN、WAN和WLAN的区别
    面试记录一
    C++纯虚函数(接口类)的使用
    CentOS 安装 Docker CE
    通过 plsql 连接远程 Oracle
    Yum 软件仓库配置
    qW3xT.2,解决挖矿病毒
  • 原文地址:https://www.cnblogs.com/king8/p/11002504.html
Copyright © 2011-2022 走看看