Dbutils 官网http://commons.apache.org/proper/commons-dbutils/

结合我个人写的JDBCUtils 写的 Dbutils 的使用demo . JDBCUtils 传送门:http://www.cnblogs.com/wwcherish/p/8037395.html

 package JDBCDemo;

 import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import javax.xml.bind.annotation.W3CDomHandler; import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayHandler;
import org.apache.commons.dbutils.handlers.ArrayListHandler;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ColumnListHandler;
import org.apache.commons.dbutils.handlers.MapHandler;
import org.apache.commons.dbutils.handlers.MapListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler; import com.mysql.jdbc.Connection; public class dbutilsdemo1 {
private static Connection connection = JDBCUtils.getConnection();
private static QueryRunner qRunner = new QueryRunner();
public static void main(String[] args) {
try {
//insert();
//delete();
//ArraryHandlerdemo();
// beanListHandlerDemo();
//ColumnListHandlerDemo();
//mapHandlerDemo();
mapListHandlerDemo();
} catch (Exception e) {
// TODO: handle exception
System.out.println(e);
} }
public static void insert() throws SQLException {
//insert delete update
String sql = "insert into zhangwu (name,money) values (?,?);";
Object[] object = {"打麻将支出",100};
int row = qRunner.update(connection,sql,object);
DbUtils.closeQuietly(connection);
if (row>0) {
System.out.println("插入数据成功");
}else {
System.out.println("插入数据失败");
} } public static void update() throws SQLException {
String sql = "update zhangwu set money=? where id=?;";
Object[] object = {500,4};
int row = qRunner.update(connection,sql,object);
DbUtils.closeQuietly(connection);
if (row>0) {
System.out.println("修改数据成功");
}else {
System.out.println("修改数据失败");
}
} public static void delete() throws SQLException {
String sql = "delete from zhangwu where id=?;";
Object[] object = {100};
int row = qRunner.update(connection,sql,object);
DbUtils.closeQuietly(connection);
if (row>0) {
System.out.println("删除数据成功");
}else {
System.out.println("删除数据失败");
}
} public static void ArraryHandlerdemo () throws SQLException {
//返回1条数据集
//ArraryHandler
String sql = "select * from zhangwu;";
Object[] res = qRunner.query(connection, sql, new ArrayHandler());
for(Object object : res) {
System.out.print(object+"\t");
} }
public static void ArraryListHandlerDemo() throws SQLException {
//返回整个数据集
String sql = "select * from zhangwu;";
List<Object[]> res = qRunner.query(connection, sql, new ArrayListHandler());
for(Object[] objs : res) {
for(Object oo : objs) {
System.out .print(oo + "\t");
}
System.out.println("");
}
}
public static void beanHandler() throws SQLException {
//返回1条数据集
String sql = "select * from zhangwu;";
Zhangwu zw = qRunner.query(connection,sql,new BeanHandler<Zhangwu>(Zhangwu.class));
System.out.println(zw);
}
public static void beanListHandlerDemo() throws SQLException{
//返回整个数据集
String sql = "select * from zhangwu;";
List<Zhangwu> zwlist= qRunner.query(connection, sql, new BeanListHandler<Zhangwu>(Zhangwu.class));
for(Zhangwu zwchild : zwlist) {
System.out.println(zwchild.toString());
}
}
public static void ColumnListHandlerDemo() throws SQLException {
//单列结果查询
String sql = "select distinct name from zhangwu";
List<Object> zwlist= qRunner.query(connection, sql, new ColumnListHandler<Object>("name"));
for(Object zwchild : zwlist) {
System.out.println(zwchild.toString());
}
}
public static void scalarHandlerDemo() throws SQLException {
//单结果集查询
String sql = "select count(*) from zhangwu;";
Long num = qRunner.query(connection, sql, new ScalarHandler<Long>());
System.out.println(num);
}
public static void mapHandlerDemo() throws SQLException {
//结果集第一行数据 封装到map集合中
String sql = "select * from zhangwu;";
Map< String,Object > map= qRunner.query(connection,sql,new MapHandler());
for(String key : map.keySet()) {
System.out.println(key + "..." + map.get(key));
}
}
public static void mapListHandlerDemo() throws SQLException {
// 封装到map集合中 适合少量数据
String sql = "select * from zhangwu;";
List<Map<String, Object>> listmap = qRunner.query(connection, sql, new MapListHandler());
for(Map<String, Object> mapchild : listmap) {
for(String key : mapchild.keySet()) {
System.out.print(key + " = " + mapchild.get(key) + " ");
}
System.out.println("");
}
}
}

Java 使用 Dbutils 工具类库 操作mysql的更多相关文章

  1. Java基础-DButils工具类(QueryRunner)详解

    Java基础-DButils工具类(QueryRunner)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC ...

  2. java使用dbutils工具类实现小程序 管家婆记账软件

    1.所需创建的包和 jar包 2.创建表结构  #生成一些表数据 ,,'交通银行','2016-03-02','家庭聚餐'); ,,'现金','2016-03-15','开工资了'); ,,'现金', ...

  3. 【知了堂学习心得】浅谈c3p0连接池和dbutils工具类的使用

    1. C3P0概述 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.目前使用它的开源项目有Hibernate,Spring等. 2. C3P ...

  4. Java_图片处理_02_图片处理工具类库

    二.参考文档 1.Java图片处理工具类库

  5. Java学习之DBUtils工具的学习

    简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影 ...

  6. Java学习笔记49(DBUtils工具类二)

    上一篇文章是我们自己模拟的DBUtils工具类,其实有开发好的工具类 这里使用commons-dbutils-1.6.jar 事务的简单介绍: 在数据库中应用事务处理案例:转账案例 张三和李四都有有自 ...

  7. Apache—dbutils开源JDBC工具类库简介

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

  8. 【Java基础】Java开发过程中的常用工具类库

    目录 Java开发过程中的常用工具类库 1. Apache Commons类库 2. Guava类库 3. Spring中的常用工具类 4. 其他工具 参考 Java开发过程中的常用工具类库 1. A ...

  9. Linux下用OTL操作MySql(包含自己封装的类库及演示样例代码下载)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/ClamReason/article/details/23971805 首先重点推荐介绍otl介绍及使 ...

随机推荐

  1. 初探JSP运行机制和与Servlet间的关系

    自己看的书,手动画的图,如果有错误,请指正,谢谢.

  2. Python学习环境搭建——VMware,Ubuntu,Anaconda,Pycharm

    1.安装VMware虚拟机,版本是14.1.2(含注册码) 链接:https://pan.baidu.com/s/1ffNLONDjEMYDAenE36gRpA 密码:yazx 注:我的电脑分辨率较高 ...

  3. 【转】sshpass-Linux命令之非交互SSH密码验证

      sshpass-Linux命令之非交互SSH密码验证 ssh登陆不能在命令行中指定密码.sshpass的出现,解决了这一问题.sshpass用于非交互SSH的密码验证,一般用在sh脚本中,无须再次 ...

  4. AssetBundle粒度与分配策略

    决定如何将项目内的资源分配到 AssetBundle 是不容易的.简单的规则都很有诱惑性,比如将所有对象都放置到他们自己的 AssetBundle 中或者将所有对象都放到一个 AssetBundle ...

  5. MySQL两种引擎的比较

    MyISAM,InnoDB主要区别: 1.MyISAM是非事物安全的,InnoDB是事物安全的. 事物安全的特点为更安全,遇到问题会自动恢复或从备份加事物日志回复,如果更新失败,你的所有改变都变回原来 ...

  6. Discuz3.3精仿小米风格整站模板制作——1、新建模板方案

    术语说明: 模板——模板是一堆按照规定命名方式的html文件,用于指定整个论坛不同页面的外观. 标签——标签和模板共同作用以实现论坛换肤功能,其中标签主要控制页面显示什么数据,显示多少条等. 风格—— ...

  7. 如何配置php客户端(phpredis)并连接Redis--华为DCS for Redis使用经验系列

    使用php连接Redis.Memcache等都需要进行扩展,以CentOS为例,介绍phpredis的客户端环境搭建. 第0步:准备工作 华为云上购买1台弹性云服务器ECS(我选了CentOS 6.3 ...

  8. 下一代的DevOps服务:AIOps

    AIOps是一个总称,用于指代使用复杂的基础设施管理软件和云解决方案监控工具来实现自动化数据分析和日常的DevOps操作. 那些10年前甚至是5年前构建的系统监控工具的主要缺陷是它们不是为了满足大数据 ...

  9. 冲刺One之站立会议8 /2015-5-21

    今天我们把聊天界面做了优化和改进,主要实现了聊天的功能.显示了正在进行通信的成员列表,和当前状态,是否连通和正常通信,大体完成了预期的目标. 燃尽图8

  10. 关于datatable的数据绑定问题

    最近做项目掉在数据绑定这个小坑里了,最后发现问题其实很简单,只是官方的文档描述可能不太清除导致的吧.首先贴上官网地址:http://www.datatables.club/ 关于这个插件的简单使用就不 ...