zoukankan      html  css  js  c++  java
  • Javaweb学习笔记8—DBUtils工具包

    今天来讲javaweb的第8阶段学习。

    DBUtils技术,DBUtils是我们操作数据库很常用的功能,虽然后期使用都是它的封装结果,但是也需要掌握。

    老规矩,首先先用一张思维导图来展现今天的博客内容。

       

    ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣并且想看到你们跟详细的备注信息,请点击下载

    另外:如果图看不清的话请右击---在新窗口中打开会清楚很多

     

    一* 概述:

    1* 定义:

    用于封装操作数据库的增删改查.

    2* 特点:

    A* 对于数据表的读操作,他可以把结果转换成ListArraySetjava集合,便于程序员操作.

    B* 对于数据表的写操作,也变得很简单(只需写sql语句).

    C* 可以使用数据源,使用JNDI,数据库连接池等技术来优化性能.

    二* 常用类:

    1* QueryRunner:

    1.1* 构造函数:

    * QueryRunner():默认无参构造.

    * QueryRunner(DataSource ds):传递连接池的构造.

    1.2* 常用方法:

    * query()方法:用于执行查询操作.

    * query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params)

         1.3* query(String sql, ResultSetHandler<T> rsh, Object... params)

    * update()方法:用于执行增删改操作.

    * update(Connection conn, String sql, Object... params)

         * update(String sql, Object... params)

    2* ResultSetHandler接口:

    2.1* handle(ResultSet rs)方法:

    用于将ResultSet结果集类型进行转换.

     

    三 * 两种方式管理事务:

    1* 手动管理事务:

    * QueryRunner()

    * query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params)

    * update(Connection conn, String sql, Object... params)

    2* 工具管理事务:

    * QueryRunner(DataSource ds)

    * query(String sql, ResultSetHandler<T> rsh, Object... params)

    * update(String sql, Object... params)

    四* ResultSethandler:

    通过上述查询语句可以发现,每次去实现ResultSetHandler的方法非常麻烦。其实ResultSetHandler接口提供了九个实现类供使用,分别如下:

     

    1* ArrayHandler:把结果集中的第一行数据转成对象数组.

    2 * ArrayListHandler:把结果集中的每一行数据都转成一个对象数组,再存放到List.

     

    3* BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中.

    4* BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List.

     

    5* MapHandler:将结果集中的第一行数据封装到一个Map,key是列名,value就是对应的值.

    6* MapListHandler:将结果集中的每一行数据都封装到一个Map,然后再存放到List.

     

    7* ColumnListHandler:将结果集中某一列的数据存放到List.

     

    8* KeyedHandler:将结果集中的每一行数据都封装到一个Map,再把这些map再存到一个map,key为指定的列.

    9* ScalarHandler:进行单值查询.

  • 相关阅读:
    java 容器
    Java容器有哪些?
    java容器---集合总结
    Java中的String,StringBuilder,StringBuffer三者的区别
    Socket心跳包机制
    JAVA实现简单的RPC框架
    redis、kafka、rabittMQ对比
    idea+maven无法自动加载jar包
    myeclipse 上安装 Maven3
    linux_开发软件安装=命令步骤
  • 原文地址:https://www.cnblogs.com/jinfulin/p/4392836.html
Copyright © 2011-2022 走看看