DBUtil

Posted luoqi123456

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DBUtil相关的知识,希望对你有一定的参考价值。

DBUtils

增删改

            //dbutils 只是帮我们简化了CRUD 的代码, 但是连接的创建以及获取工作。 不在他的考虑范围
    QueryRunner queryRunner = new QueryRunner(new ComboPooledDataSource());

    
    //增加
    //queryRunner.update("insert into account values (null , ? , ? )", "aa" ,1000);
    
    //删除
    //queryRunner.update("delete from account where id = ?", 5);
    
    //更新
    //queryRunner.update("update account set money = ? where id = ?", 10000000 , 6);

查询

  1. 直接new接口的匿名实现类

     QueryRunner queryRunner = new QueryRunner(new ComboPooledDataSource());
    
    
     Account  account =  queryRunner.query("select * from account where id = ?", new ResultSetHandler<Account>(){
    
         @Override
         public Account handle(ResultSet rs) throws SQLException {
             Account account  =  new Account();
             while(rs.next()){
                 String name = rs.getString("name");
                 int money = rs.getInt("money");
    
                 account.setName(name);
                 account.setMoney(money);
             }
             return account;
         }
    
      }, 6);
    
     System.out.println(account.toString());
  2. 直接使用框架已经写好的实现类。

    • 查询单个对象

      QueryRunner queryRunner = new QueryRunner(new ComboPooledDataSource());
      //查询单个对象
      Account account = queryRunner.query("select * from account where id = ?",
      new BeanHandler

    • 查询多个对象

      QueryRunner queryRunner = new QueryRunner(new ComboPooledDataSource());
      List

ResultSetHandler 常用的实现类

以下两个是使用频率最高的

BeanHandler,  查询到的单个数据封装成一个对象
BeanListHandler, 查询到的多个数据封装 成一个List<对象>

ArrayHandler,  查询到的单个数据封装成一个数组
ArrayListHandler,  查询到的多个数据封装成一个集合 ,集合里面的元素是数组。 



MapHandler,  查询到的单个数据封装成一个map
MapListHandler,查询到的多个数据封装成一个集合 ,集合里面的元素是map。 

ColumnListHandler
KeyedHandler
ScalarHandler

总结

事务

使用命令行演示

使用代码演示

脏读、

不可重复读、

幻读
丢失更新

悲观锁
乐观锁

4个隔离级别
    读未提交
    读已提交
    可重复读
    可串行化

数据连接池

  • DBCP

    不使用配置

    使用配置

  • C3P0

    不使用配置

    使用配置 (必须掌握)

  • 自定义连接池

    装饰者模式

DBUtils

简化了我们的CRUD , 里面定义了通用的CRUD方法。

queryRunner.update();
queryRunner.query







以上是关于DBUtil的主要内容,如果未能解决你的问题,请参考以下文章

python的dbutil

DBUtil

如何从 h2 数据库中获取字符串(Java、DBUtil)

连接数据库工具类DBUtil

怎么编写dbutil.java

如何处理 DBUtil 中的日期类型值