DbUtils

  1. /**
  2. * DbUtils :提供如关闭连接、装载 JDBC 驱动等操作的工具类,里面方法都是静态的。
  3. *
  4. * public static void close(…) throws java.sql.SQLException
  5. * DbUtils 提供三个重载的关闭方法。这些方法检查所提供的参数是不是 NULL,若不是,就关闭 Connection、Statement 和 ResultSet
  6. *
  7. * public static void closeQuietly(…)
  8. * 不仅能在 Connection、Statement 和 ResultSet 为 NULL 情况下避免关闭,还能隐藏一些在程序中抛出的 SQLEeception
  9. *
  10. * public static void commitAndCloseQuietly(Connection conn)
  11. * 用来提交连接,然后关闭连接,在关闭连接时不抛出 SQL 异常
  12. *
  13. * public static boolean loadDriver(java.lang.String driverClassName)
  14. * 加载 JDBC 驱动,成功返回true。不需要捕捉 ClassNotFoundException 异常
  15. */

QueryRunner

  1. /**
  2. * QueryRunner:简化 SQL 查询,与 ResultSetHandler 组合可以完成大部分数据库操作,大大减少编码量。
  3. * 该类提供了两个构造方法:默认的构造方法和需要一个 javax.sql.DataSource 来作参数的构造方法
  4. *
  5. * public Object query(Connection conn, String sql, Object[] params, ResultSetHandler rsh) throws SQLException
  6. * 执行一个查询操作,在这个查询中,对象数组中的每个元素值被用来作为查询语句的置换参数。该方法会自行处理 PreparedStatement 和 ResultSet 的创建和关闭
  7. *
  8. * public Object query(String sql, Object[] params, ResultSetHandler rsh) throws SQLException
  9. * 几乎与第一种方法一样;不同在于它是从提供给构造方法的数据源(DataSource) 或使用的 setDataSource 方法中重新获得 Connection
  10. *
  11. * public Object query(Connection conn, String sql, ResultSetHandler rsh) throws SQLException
  12. * 不需要置换参数的查询操作
  13. *
  14. * public int update(Connection conn, String sql, Object[] params) throws SQLException
  15. * 更新(插入、更新或删除)操作
  16. *
  17. * public int update(Connection conn, String sql) throws SQLException
  18. * 不需要置换参数的更新操作
  19. */

ResultSetHandler

  1. /**
  2. * ResultSetHandler:处理 java.sql.ResultSet,将数据按要求转换为另一种形式,接口提供了一个单独的方法:Object handle (java.sql.ResultSet rs)
  3. *
  4. * ResultSetHandler 接口实现类
  5. *
  6. * ArrayHandler:把结果集中的第一行数据转成对象数组
  7. * ArrayListHandler:把结果集中的每一行数据都转成一个数组,再存放到 List 中
  8. * BeanHandler:将结果集中的第一行数据封装到一个对应的 JavaBean 实例中
  9. * BeanListHandler:将结果集中的每一行数据都封装到一个对应的 JavaBean 实例中,存放到 List 里
  10. * ColumnListHandler:将结果集中某一列的数据存放到 List 中
  11. * KeyedHandler(name):将结果集中的每一行数据都封装到一个 Map 里,再把这些 map 再存到一个 map 里,其 key 为指定的 key
  12. * MapHandler:将结果集中的第一行数据封装到一个 Map 里,key 是列名,value 就是对应的值
  13. * MapListHandler:将结果集中的每一行数据都封装到一个 Map 里,然后再存放到 List
  14. */

14、JDBC-DbUtils-API的更多相关文章

  1. JDBC主要API学习总结

    JDBC主要API学习 一.JDBC主要API简介 JDBC API 是一系列的接口,它使得应用程序能够进行数据库联接,执行SQL语句,并且得到返回结果. 二.Driver 接口 Java.sql.D ...

  2. 已看1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。[泛型]\

    1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架.多线程(并发编程).I/O(NIO).Socket.JDBC.XML.反射等.[泛型]\1* ...

  3. java语言体系的技术简介之JSP、Servlet、JDBC、JavaBean(Application)

    转自:https://zhangkunnan.iteye.com/blog/2040462 前言 Java语言 Java语言体系比较庞大,包括多个模块.从WEB项目应用角度讲有JSP.Servlet. ...

  4. 40、JDBC相关概念介绍

    1.1.数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡,同样道理,我们安装好数据 ...

  5. Java面试题_第二阶段(Servlet、HTTP、Session、JSP、 Ajax、Filter、JDBC、Mysql、Spring)

    1.1. 描述Servlet调用过程? 答案: (1)在浏览器输入地址,浏览器先去查找hosts文件,将主机名翻译为ip地址,如果找不到就再去查询dns服务器将主机名翻译成ip地址. (2)浏览器根据 ...

  6. Vue.js——使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用

    概述 上一篇我们介绍了如何使用vue resource处理HTTP请求,结合服务端的REST API,就能够很容易地构建一个增删查改应用.这个应用始终遗留了一个问题,Web App在访问REST AP ...

  7. 前端MVC学习总结(三)——AngularJS服务、路由、内置API、jQueryLite

    一.服务 AngularJS功能最基本的组件之一是服务(Service).服务为你的应用提供基于任务的功能.服务可以被视为重复使用的执行一个或多个相关任务的代码块. AngularJS服务是单例对象, ...

  8. 前端MVC学习笔记(三)——AngularJS服务、路由、内置API、jQueryLite

    一.服务 AngularJS功能最基本的组件之一是服务(Service).服务为你的应用提供基于任务的功能.服务可以被视为重复使用的执行一个或多个相关任务的代码块. AngularJS服务是单例对象, ...

  9. 14、Iterator跟ListIterator的区别

    14.Iterator与ListIterator的区别 在使用List,Set的时候,为了实现对其数据的遍历,会经常使用到Iterator(跌代器).使用跌代器,不需要干涉其遍历的过程,只需要每次取出 ...

  10. Vue.js——使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用

    转自:https://www.cnblogs.com/keepfool/p/5665953.html 概述 上一篇我们介绍了如何使用vue resource处理HTTP请求,结合服务端的REST AP ...

随机推荐

  1. 添加一个Android框架层的系统服务与实现服务的回调

    2017-10-09 概述 所谓Android系统服务其本质就是一个通过AIDL跨进程通信的小Demo的延伸而已.按照 AIDL 跨进程通信的标准创建一套程序,将服务端通过系统进程来运行实现永驻内存, ...

  2. Spring模块介绍

    GroupId ArtifactId 说明 org.springframework spring-beans Beans 支持,包含 Groovy org.springframework spring ...

  3. codeforces 997C.Sky Full of Stars

    题目链接:codeforces 997C.Sky Full of Stars 一道很简单(?)的推式子题 直接求显然不现实,我们考虑容斥 记\(f(i,j)\)为该方阵中至少有\(i\)行和\(j\) ...

  4. SCOI2016幸运数字(树剖/倍增/点分治+线性基)

    题目链接 loj luogu 题意 求树上路径最大点权异或和 自然想到(维护树上路径)+ (维护最大异或和) 那么有三种方法可以选择 1.树剖+线性基 2.倍增+线性基 3.点分治+线性基 至于线性基 ...

  5. hexo+next主题目录解析

    默认目录结构: . ├── .deploy ├── public ├── scaffolds ├── scripts ├── source | ├── _drafts | └── _posts ├── ...

  6. js 时间类函数

    js 时间类是  Date() var currtime = new Date();// 实例一个时间,是当前时间 接收一个时间戳为参数 var time2=new Date(currtime.get ...

  7. HDU46093-idiots

    题目大意 给一堆边的长度,问从中随机选出三条边来能够组成三角形的概率. 题解 其实就是要求能够组成三角形的方案数.直接从三条边入手问题会很复杂,所以我们可以先求出f[x]表示随便选出两条边长度之和为x ...

  8. HDU--4417 Super Mario (主席树模版题)

    题目链接 题目让求 L R区间 不大于H 的数有多少 数据太大需要离散化 #include<bits/stdc++.h> using namespace std; #define maxn ...

  9. MySQL 到底能不能放到 Docker 里跑?

    https://weibo.com/ttarticle/p/show?id=2309404296528549285581 前言 前几月经常看到有 MySQL 到底能不能放到 Docker 里跑的各种讨 ...

  10. 为什么分布式一定要有redis?

    为什么分布式一定要有redis? 孤独烟 架构师小秘圈 昨天 作者:孤独烟 来自:http://rjzheng.cnblogs.com/ 1.为什么使用redis   分析:博主觉得在项目中使用red ...