• 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

    初始化连接

  • 相关阅读:
    敏捷开发中的故事点到底是什么?如何预估故事点?
    Worktile 进军软件开发与协作的初心与野心
    宽带无法登陆GitHub解决——修改host
    IDEA自定义类注释和方法注释(自定义groovyScript方法实现多行参数注释)
    SpringBoot2.x整合redis和使用redis缓存
    简单聊聊JVM
    IDEA打包web项目为war,通过本地Tomcat启动war
    多表更新
    unittest suite集合实现原理
    14.0 native webview H5切换
  • 原文地址:https://www.cnblogs.com/haoduoyu0512/p/13539456.html
Copyright © 2020-2023  润新知