zoukankan      html  css  js  c++  java
  • DBUtils数据库工具类

    简化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

    初始化连接

  • 相关阅读:
    玩转oracle学习第五天
    硅谷科技巨头最刁钻面试题集锦
    Python模拟登录wap版百度贴吧+自己主动回贴
    Flask 源代码阅读笔记
    Spark1.0.0 生态圈一览
    listView.getChildAt(i)时java.lang.NullPointerException
    选择排序
    JNI 系统钩子
    MySQL Cluster2个数据节点压力测试--mysqlslap工具压400W写
    VVDocumenter
  • 原文地址:https://www.cnblogs.com/haoduoyu0512/p/13539456.html
Copyright © 2011-2022 走看看