zoukankan      html  css  js  c++  java
  • jdbc数据连接池

    package JDBC;
    
    import com.alibaba.druid.pool.DruidDataSourceFactory;
    import org.apache.commons.dbutils.QueryRunner;
    import org.apache.commons.dbutils.handlers.BeanHandler;
    import org.apache.commons.dbutils.handlers.ColumnListHandler;
    import org.apache.commons.dbutils.handlers.MapListHandler;
    import org.apache.commons.dbutils.handlers.ScalarHandler;
    
    import javax.sql.DataSource;
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Properties;
    
    public class Test005 {
        public static void main(String[] args) {
    
    //第一种方法:创建一个Map集合,把数据库信息添加进去,然后把Map交给DruidDataSourceFactory工厂类
    
            //创建Map集合
            Map<String, String> map = new HashMap<>();
            //往Map集合中添加数据库信息
            map.put("driver", "com.mysql.cj.jdbc.Driver");
            map.put("url", "jdbc:mysql://localhost:3306/test002?serverTimezone=PRC");
            map.put("username", "dbone");
            map.put("password", "dbone");
            try {
                //创建数据源读取Map
                DataSource d = DruidDataSourceFactory.createDataSource(map);
                //阿帕奇jdbcutils更容易操作数据库,读取数据池信息
                QueryRunner run = new QueryRunner(d);
                  //简单实现一个查询语句
    //            List<Map<String, Object>> sel = run.query("select * from huiyuan", new MapListHandler());
                  //遍历输出
    //            sel.forEach(System.out::println);
    
            } catch (Exception e) {
                e.printStackTrace();
            }
    
    
            //第一种方法,配置好加载文件,用properties类读取出来交给DruidDataSourceFactory这个工厂类
    
            //创建Properties类,用来加载配置文件
            Properties p = new Properties();
            try {
                //加载配置文件
                p.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("druid.properties"));
                //创建数据源读取加载p
                DataSource ds = DruidDataSourceFactory.createDataSource(p);
                //阿帕奇jdbcutils更容易操作数据库,读取数据池信息
                QueryRunner runner = new QueryRunner(ds);
                //简单实现一个条件查询
                List<Map<String, Object>> qe1 = runner.query("select * from huiyuan where id =?", new MapListHandler(), 3);
                qe1.forEach(System.out::println);
    
                List<String> qe = runner.query("select id from ssx", new ColumnListHandler<>());
                System.out.println(qe);
    
                Student be = runner.query("select * from huiyuan where id =?", new BeanHandler<>(Student.class), 2);
                System.out.println(be);
    
                List<String> qe2 = runner.query("select name from huiyuan", new ColumnListHandler<>());
                qe2.forEach(System.out::println);
    
    //            int up1 = runner.update("update huiyuan set name =?,money=?,gender=?,age=? where id =?", "王丽", 1400, "女", 21,1);
    //            int up2 = runner.update("update huiyuan set name =?,money=?,gender=?,age=? where id =?","赵四",1000,"男",19,2);
    //            int up3 = runner.update("update huiyuan set name =?,money=?,gender=?,age=? where id =?","张三",1200,"男",18,3);
    //            int up4 = runner.update("update huiyuan set name =?,money=?,gender=?,age=? where id =?","王五",1300,"男",20,4);
    //            int up5 = runner.update("update huiyuan set name =?,money=?,gender=?,age=? where id =?","莉莉",1100,"女",20,8);
    //            int up6 = runner.update("update huiyuan set name =?,money=?,gender=?,age=? where id =?","james",1500,"男",20,6);
    //            System.out.println(up1);
    //            System.out.println(up2);
    //            System.out.println(up3);
    //            System.out.println(up4);
    //            System.out.println(up5);
    //            System.out.println(up6);
    
    //            int ins = runner.update("insert into huiyuan values (null,?,?,?,?,?,?,?)", "jack", "男", 21, 1600, "1999-02-02", "2000-05-18", "很优秀!");
    //            System.out.println(ins);
    //            int ins2 = runner.execute("delete from huiyuan where id =?", 7);
    //            System.out.println(ins2);
                String ver = runner.query("select version()", new ScalarHandler<>());
                System.out.println(ver);
                runner.execute("select id,name,money,gender,birth from huiyuan", new MapListHandler()).forEach(System.out::println);
    
            } catch (IOException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
    
        }
    }
  • 相关阅读:
    SpringCloud整合过程中jar依赖踩坑经验
    spring-boot-starter-parent的主要作用
    配置Setting.xml文件提高maven更新下载jar包速度
    剑指Offer-编程详解-二维数组中的查找
    Git 拉取Gitee仓库报错:“fatal: unable to access ''": Failed to connect to 127.0.0.1 port 1080: Connection refused”
    SpringBoot整合mybatis——配置mybatis驼峰命名规则自动转换
    SpringBoot 整合 Mybatis + Mysql——XML配置方式
    ES+open-falcon之nginx状态码监控报警自动化
    zabbix告警邮件美化
    基于Jenkins+Gitlab的自动化部署实战
  • 原文地址:https://www.cnblogs.com/liuyunche/p/14499251.html
Copyright © 2011-2022 走看看