• QueryRunner和JDBC连接池


    QueryRunner,节省步骤

    增删改:

    Connection conn=JDBCUtils.getCon();
    String sql="insert into user(uname,pwd) values(?,?)";
    QueryRunner qr=new QueryRunner();
    int row=qr.update(conn,sql,user.getUname(),user.getPwd());
    System.out.println(row);
    conn.close();

    查询操作:

    四种常用方法:BeanHandler,BeanListHandler,ColumnListHandler,ScalarHandler

    1. BeanHandler:将结果集中第一条记录封装到一个指定的javaBean中

    String sql="select * from user";
    QueryRunner qr=new QueryRunner(MyDBUtils.getDataSource());
    User user=qr.query(sql,new BeanHandler<User>(User.class) );
    System.out.println(user);
                

    2.BeanListHandler:将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中

    Connection conn=JDBCUtils.getCon();
    String sql="select * from user where uid=?";
    QueryRunner qr=new QueryRunner();
    Object[] params = {1};
    List<User> list=qr.query(conn, sql,new BeanListHandler<User>(User.class),params);
    for(User user:list){
        System.out.println("get4:"+user);
    }
    conn.close();

    3.ColumnListHandler:将结果集中指定的列的字段值,封装到一个List集合中

    Connection conn=JDBCUtils.getCon();
            //String sql="select uname from user";
            String sql="select * from user";
            QueryRunner qr=new QueryRunner();
            //可在结果集中通过传参查询
            List<String> list=qr.query(conn,sql,new ColumnListHandler<String>("uname"));
            for(String s:list){
                System.out.println(s);
            }
            conn.close();

    4.ScalarHandler:它是用于单数据。例如select count(*) from 表操作

    Connection conn=JDBCUtils.getCon();
            String sql="select count(*) from user where uname=?";
            QueryRunner qr=new QueryRunner();
            //可在结果集中通过传参查询
            Long count=qr.query(conn,sql,new ScalarHandler<Long>(),"aaa");    
            System.out.println("get6:"+count);
            conn.close();

    DBCP连接池:

    1.导入jar包

    2.创建工具类

    QueryRunner qr=new QueryRunner(MyDBUtils.getDataSource());

  • 相关阅读:
    安装mysql到服务器的linux环境下
    Junit
    shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select
    JavaScript组合继承的一点思考
    JavaScript-2.内置对象---简单脚本之弹出对话框显示当前时间 ---ShinePans
    Python之美[从菜鸟到高手]--2+2=5
    Flex中配置FusionCharts
    [WHY]Hello, Worktile~
    数据库学习之中的一个: 在 Oracle sql developer上执行SQL必知必会脚本
    Remove Nth Node From End of List
  • 原文地址:https://www.cnblogs.com/god3064371/p/11847932.html
Copyright © 2020-2023  润新知