简化JDBC

Dbutils三个核心功能介绍

l  QueryRunner中提供对sql语句操作的API.

l  ResultSetHandler接口,用于定义select操作后,怎样封装结果集.

l  DbUtils类,它就是一个工具类,定义了关闭资源与事务处理的方法

1.1      QueryRunner核心类

l  update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作

l  query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用来完成表数据的查询操作

1.1.1    ResultSetHandler结果集处理类

ArrayHandler

将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值

ArrayListHandler

将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。

BeanHandler

将结果集中第一条记录封装到一个指定的javaBean中。

BeanListHandler

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

ColumnListHandler

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

ScalarHandler

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

MapHandler

将结果集第一行封装到Map<String,Object>集合中,Key 列名, Value 该列数据

MapListHandler

将结果集每一行封装到List<Map<String,Object>>集合中,Key 列名, Value 该列数据,Map集合存储到List集合

 

 

复制代码
//增加数据
public int zengjia(User user){
   QueryRunner rq=new QueryRunner(MyDBCUtils.getDataSource());
   String sql="insert into user(pname,pwd) values(?,?)";
   int row=qr.update(sql,user.getPname,user.getPwd);
   return row;
}
//删除数据
public int shanchu(User user){
    QueryRunner qr=new QueryRunner(MyDBUtils.getDataSource());
    String sql="delete from sort where sid=?";
    int row=qr.update(sql,user.getSid);
    return row;
}
//查询数据常用的四种
//查询一行
public Sort chaxun1(int sid){
QueryRunner qr=new QueryRunner(MyDBCUtils.getDataSource());
String sql="select * from user where sid=?";
Sort sort=qr.query(sql,new BeanHandler<Sort>(Sort.class),sid);
return sort;
}
//将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中
public List<Sort> chaxun2(){
QueryRunner qr=new QueryRunner(MyDBCUtils.getDataSource());
String sql="select * from user";
List<Sort> list=qr.query(sql,new BeanListHandler<Sort>(Sort.class));
return list;
}
//查询一列,封装到集合中
public List<Sort> chaxun3(){
QueryRunner qr=new QueryRunner(MyDBCUtils.getDataSource());
String sql="select sname from user";
List<Sort> list=qr.query(sql,new ColumListHandler<Sort>());
return list;
}
//查询count(*)
public int chaxun4(){
QueryRunner qr=new QueryRunner(MyDBUtils.getDataSource());
String sql="select count(*) from user";
Long rs=qr.query(sql,new ScalarHandler<Long>());
int row=rs.intValue();
return row;

}
复制代码

 

     连接池

 

 

 

 

 

1.1.1    常见配置项

分类

属性

描述

必须项

driverClassName

数据库驱动名称

url

数据库的地址

username

用户名

password

密码

基本项(扩展)

maxActive

最大连接数量

minIdle

最小空闲连接

maxIdle

最大空闲连接

initialSize

初始化连接

posted on 2020-08-21 09:53  haoduohaoduo鱼  阅读(193)  评论(0编辑  收藏  举报