1.所需要jar包

commons-collections-2.1.1.jar
mchange-commons-java-0.2.11.jar
mysql-connector-java-5.1.18-bin.jar

获取连接

  1. package util;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5.  
  6. public class ConnUtils {
  7.  
  8. public static Connection getConnection() {
  9. Connection conn = null;
  10. try {
  11. Class.forName("com.mysql.jdbc.Driver");
  12. conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "qiu");
  13. } catch (Exception e) {
  14. e.printStackTrace();
  15. }
  16. return conn;
  17. }
  18. }
  1. package entity;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.SQLException;
  5. import java.util.Date;
  6.  
  7. import org.apache.commons.dbutils.QueryRunner;
  8.  
  9. import util.ConnUtils;
  10.  
  11. public class CURD {
  12.  
  13. public static void insert(Visitor visitor){
  14. Connection con=ConnUtils.getConnection();
  15. QueryRunner runner=new QueryRunner();
  16. String sql="insert into visitor (Name, Email, Status, CreateTime) values (?, ?, ?, ?)";
  17. try {
  18. Object arr[]={visitor.getName(),"1",2,new Date()};
  19. int count=runner.update(con,sql,arr);
  20. System.out.println(count);
  21. } catch (SQLException e) {
  22. e.printStackTrace();
  23. }
  24. }
  25.  
  26. public static void delete(int id){
  27. Connection con=ConnUtils.getConnection();
  28. QueryRunner runner=new QueryRunner();
  29. String sql=" delete from visitor ";
  30. try {
  31. runner.update(con,sql);
  32. } catch (SQLException e) {
  33. e.printStackTrace();
  34. }
  35. }
  36.  
  37. public static void main(String[] args) {
  38. // Visitor visitor=new Visitor();
  39. // visitor.setName("tom");
  40. // insert(visitor);
  41. // delete(11);
  42. }
  43. }
  • commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernate的公司的首选。
  • API介绍:
    • org.apache.commons.dbutils.QueryRunner --BDManager
    • org.apache.commons.dbutils.ResultSetHandler—处理结果集
    • 工具类org.apache.commons.dbutils.DbUtils

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类

  • 该类简单化了SQL查询,它与ResultSetHandler组合在一起使用可以完成大部分的数据库操作,能够大大减少编码量。
  • QueryRunner类提供了两个构造方法:
    • 默认的构造方法
    • 需要一个 javax.sql.DataSource 来作参数的构造方法。

QueryRunner类的主要方法

    • 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:用来执行一个不需要置换参数的更新操作。

Apache—DBUtils框架的更多相关文章

  1. Apache—DBUtils框架简介

    转载自:http://blog.csdn.net/fengdongkun/article/details/8236216 Apache—DBUtils框架简介.DbUtils类.QueryRunner ...

  2. JDBC 学习笔记(四)—— 自定义JDBC框架+Apache—DBUtils框架+事务管理+操作多表

    本文目录:       1.自定义JDBC框架 ——数据库元数据:DataBaseMetaData        2.自定义JDBC框架 ——数据库元数据:DataBaseMetaData       ...

  3. Apache DBUtils框架 结果处理器

    package com.itheima.dbutil; import java.util.List; import java.util.Map; import org.apache.commons.d ...

  4. Apache——DBUtils框架ResultSetHandler接口使用

    参考链接:http://i.cnblogs.com/EditPosts.aspx?opt=1 简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDB ...

  5. pache—DBUtils框架简介、DbUtils类、QueryRunner类 、ResultSetHandler接口

    Apache—DBUtils框架简介.DbUtils类.QueryRunner类 .ResultSetHandler接口 commons-dbutils 是 Apache 组织提供的一个开源 JDBC ...

  6. javaweb学习总结(四十一)——Apache的DBUtils框架学习

    一.commons-dbutils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化 ...

  7. 开源框架:Apache的DBUtils框架

    开源框架:Apache的DBUtils框架 Commons DbUtils 1.4 API 开源框架:DBUtils使用详解 Download Apache Commons DbUtils  官方文档

  8. Apache的DBUtils框架学习(转)

    原文地址:http://www.cnblogs.com/xdp-gacl/p/4007225.html 一.commons-dbutils简介 commons-dbutils 是 Apache 组织提 ...

  9. Apache的DBUtils框架学习(转)

    一.commons-dbutils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化 ...

随机推荐

  1. 分割excel sheet

    Sub split_sheet() '输入用户想要拆分的工作表 Dim sheet_name sheet_name = Application.InputBox("请输入拆分工作表的名称:& ...

  2. smarty模板原理和增删改查例题

    Smarty模板:(前后端分离)原理:核心是一个类,先修改配置文件,在使用的时候引入配置文件即可,(init.inc.php)$smarty->assign("ceshi", ...

  3. 微信H5页面分享

    #jssdk.php <?php class JSSDK { private $appId; private $appSecret; public function __construct($a ...

  4. iOS仿网易新闻栏目拖动重排添加删除效果

    仿网易新闻栏目选择页面的基本效果,今天抽了点时间教大家如何实现UICollectionView拖动的效果! 其实实现起来并不复杂,这里只是基本的功能,没有实现细节上的修改,连UI都是丑丑的样子,随手画 ...

  5. 修改pip源

    http://www.cnblogs.com/hushaojun/p/4606986.html mkdir -p ~/.pip/ vi ~/.pip/pip.conf [global] trusted ...

  6. 【Android测试】【第十五节】Instrumentation——官方译文

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5482207.html 前言 前面介绍了不少Android ...

  7. 加载UI

    weak情况 1 2 3 4 @property (weak,nonatomic) UILabel *nameLabel;   UILabel *nameLabel = [[UILabel alloc ...

  8. vi全局替换

    http://blog.csdn.net/vindak/article/details/7830547 vi全局替换命令

  9. Git reset 常见用法

    Git reset 1. 文件从暂存区回退到工作区 2. 版本回退 1.1 git reset HEAD filename :回退文件,将文件从暂存区回退到工作区 //也可以使用 git reset ...

  10. 如何在断开ssh连接后仍然保持服务器正常运行程序

    问题描述:当SSH远程连接到服务器上,然后运行一个Python程序(bpr.py),然后把终端开闭(切断SSH连接)之后,发现该程序执行中断. 解决方法:使用nohup命令让程序在关闭窗口(切换SSH ...