• DBUtils


     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

    初始化连接

  • 相关阅读:
    python自学Day01(自学书籍python编程从入门到实践)
    关于要不要转行做程序员的建议
    什么是高并发?
    看了就想收藏的文章链接
    java反射的理解
    Mac执行sh批处理文件出现permission denied
    Error running 'lis [clean]': No valid Maven installation found. Either set the home directory in the configuration dialog or set the M2_HOME environment variable on your system.
    Error running 'Tomcat 8.5.37': Unable to open debugger port (127.0.0.1:55358): java.net.SocketException "socket closed"
    浅谈JS-ES6新特性
    ==和equals的区别
  • 原文地址:https://www.cnblogs.com/marswenze/p/13594607.html
Copyright © 2020-2023  润新知