14、JDBC-DbUtils-API
DbUtils
/**
* DbUtils :提供如关闭连接、装载 JDBC 驱动等操作的工具类,里面方法都是静态的。
*
* public static void close(…) throws java.sql.SQLException
* DbUtils 提供三个重载的关闭方法。这些方法检查所提供的参数是不是 NULL,若不是,就关闭 Connection、Statement 和 ResultSet
*
* public static void closeQuietly(…)
* 不仅能在 Connection、Statement 和 ResultSet 为 NULL 情况下避免关闭,还能隐藏一些在程序中抛出的 SQLEeception
*
* public static void commitAndCloseQuietly(Connection conn)
* 用来提交连接,然后关闭连接,在关闭连接时不抛出 SQL 异常
*
* public static boolean loadDriver(java.lang.String driverClassName)
* 加载 JDBC 驱动,成功返回true。不需要捕捉 ClassNotFoundException 异常
*/
QueryRunner
/**
* QueryRunner:简化 SQL 查询,与 ResultSetHandler 组合可以完成大部分数据库操作,大大减少编码量。
* 该类提供了两个构造方法:默认的构造方法和需要一个 javax.sql.DataSource 来作参数的构造方法
*
* public Object query(Connection conn, String sql, Object[] params, ResultSetHandler rsh) throws SQLException
* 执行一个查询操作,在这个查询中,对象数组中的每个元素值被用来作为查询语句的置换参数。该方法会自行处理 PreparedStatement 和 ResultSet 的创建和关闭
*
* public Object query(String sql, Object[] params, ResultSetHandler rsh) throws SQLException
* 几乎与第一种方法一样;不同在于它是从提供给构造方法的数据源(DataSource) 或使用的 setDataSource 方法中重新获得 Connection
*
* public Object query(Connection conn, String sql, ResultSetHandler rsh) throws SQLException
* 不需要置换参数的查询操作
*
* public int update(Connection conn, String sql, Object[] params) throws SQLException
* 更新(插入、更新或删除)操作
*
* public int update(Connection conn, String sql) throws SQLException
* 不需要置换参数的更新操作
*/
ResultSetHandler
/**
* ResultSetHandler:处理 java.sql.ResultSet,将数据按要求转换为另一种形式,接口提供了一个单独的方法:Object handle (java.sql.ResultSet rs)
*
* ResultSetHandler 接口实现类
*
* ArrayHandler:把结果集中的第一行数据转成对象数组
* ArrayListHandler:把结果集中的每一行数据都转成一个数组,再存放到 List 中
* BeanHandler:将结果集中的第一行数据封装到一个对应的 JavaBean 实例中
* BeanListHandler:将结果集中的每一行数据都封装到一个对应的 JavaBean 实例中,存放到 List 里
* ColumnListHandler:将结果集中某一列的数据存放到 List 中
* KeyedHandler(name):将结果集中的每一行数据都封装到一个 Map 里,再把这些 map 再存到一个 map 里,其 key 为指定的 key
* MapHandler:将结果集中的第一行数据封装到一个 Map 里,key 是列名,value 就是对应的值
* MapListHandler:将结果集中的每一行数据都封装到一个 Map 里,然后再存放到 List
*/
14、JDBC-DbUtils-API的更多相关文章
- JDBC主要API学习总结
JDBC主要API学习 一.JDBC主要API简介 JDBC API 是一系列的接口,它使得应用程序能够进行数据库联接,执行SQL语句,并且得到返回结果. 二.Driver 接口 Java.sql.D ...
- 已看1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。[泛型]\
1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架.多线程(并发编程).I/O(NIO).Socket.JDBC.XML.反射等.[泛型]\1* ...
- java语言体系的技术简介之JSP、Servlet、JDBC、JavaBean(Application)
转自:https://zhangkunnan.iteye.com/blog/2040462 前言 Java语言 Java语言体系比较庞大,包括多个模块.从WEB项目应用角度讲有JSP.Servlet. ...
- 40、JDBC相关概念介绍
1.1.数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡,同样道理,我们安装好数据 ...
- Java面试题_第二阶段(Servlet、HTTP、Session、JSP、 Ajax、Filter、JDBC、Mysql、Spring)
1.1. 描述Servlet调用过程? 答案: (1)在浏览器输入地址,浏览器先去查找hosts文件,将主机名翻译为ip地址,如果找不到就再去查询dns服务器将主机名翻译成ip地址. (2)浏览器根据 ...
- Vue.js——使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
概述 上一篇我们介绍了如何使用vue resource处理HTTP请求,结合服务端的REST API,就能够很容易地构建一个增删查改应用.这个应用始终遗留了一个问题,Web App在访问REST AP ...
- 前端MVC学习总结(三)——AngularJS服务、路由、内置API、jQueryLite
一.服务 AngularJS功能最基本的组件之一是服务(Service).服务为你的应用提供基于任务的功能.服务可以被视为重复使用的执行一个或多个相关任务的代码块. AngularJS服务是单例对象, ...
- 前端MVC学习笔记(三)——AngularJS服务、路由、内置API、jQueryLite
一.服务 AngularJS功能最基本的组件之一是服务(Service).服务为你的应用提供基于任务的功能.服务可以被视为重复使用的执行一个或多个相关任务的代码块. AngularJS服务是单例对象, ...
- 14、Iterator跟ListIterator的区别
14.Iterator与ListIterator的区别 在使用List,Set的时候,为了实现对其数据的遍历,会经常使用到Iterator(跌代器).使用跌代器,不需要干涉其遍历的过程,只需要每次取出 ...
- Vue.js——使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
转自:https://www.cnblogs.com/keepfool/p/5665953.html 概述 上一篇我们介绍了如何使用vue resource处理HTTP请求,结合服务端的REST AP ...
随机推荐
- html概念
一.前端 1.什么是前端 前端即网站前台部分,运行在PC端等浏览器上展现给用户浏览的网页.随着互联网技术的发展, HTML5,CSS3,前端框架的应用,跨平台响应式网页设计能够适应各种屏幕分辨率,完美 ...
- .net Json 反序列化时,属性带点
.net Json 反序列化时,属性带点 使用[JsonProperty("xxx.xxx")] static void Main(string[] args) { string ...
- python学习日记(函数基础)
修改文件(原理)--回顾 #修改文件(原理) with open('name','r',encoding='utf-8') as f,\ open('password','w+',encoding=' ...
- 【Tsinsen A1339】JZPLCM (树状数组)
Description 原题链接 给定一长度为\(~n~\)的正整数序列\(~a~\),有\(~q~\)次询问,每次询问一段区间内所有数的\(~LCM~\)(即最小公倍数).由于答案可能很大,输出 ...
- [NOIp2008] 双栈排序 (二分图染色 + 贪心)
题意 给你一个长为 \(n\) 的序列 \(p\) ,问是否能够通过对于两个栈进行 push, pop(print) 操作使得最后输出序列单调递增(即为 \(1 \cdots n\) ),如果无解输出 ...
- js-元素相关
获取元素方法一 可以使用内置对象document上的getElementById方法来获取页面上设置了id属性的元素,获取到的是一个html对象,然后将它赋值给一个变量,比如: <script ...
- Docker使用阿里云docker镜像加速
首先进入阿里云docker库首页 https://dev.aliyun.com/ 点击 管理中心 点击 加速器 复制下面的加速地址 进入docker的 Settings 把basic 切换成 adva ...
- Wannafly挑战赛29-A御坂美琴 (dfs+map)
链接:https://ac.nowcoder.com/acm/contest/271/A来源:牛客网 御坂美琴 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言 ...
- 同一台机器安装多个zabbix-agentd
先来看一zabbix-agentd rpm包安装生成的文件 有的机器之前安装过老版本的,我这边就直接将这些配置文件打包到一个文件夹,然后上传到对应的机器上解压一下修改配置文件就ok啦 改一下启动脚 ...
- 斯坦福大学公开课机器学习: advice for applying machine learning | deciding what to try next(revisited)(针对高偏差、高方差问题的解决方法以及隐藏层数的选择)
针对高偏差.高方差问题的解决方法: 1.解决高方差问题的方案:增大训练样本量.缩小特征量.增大lambda值 2.解决高偏差问题的方案:增大特征量.增加多项式特征(比如x1*x2,x1的平方等等).减 ...