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