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());


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM