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. 9-[CSS]-字体、文本、背景图片

    1.字体相关CSS属性介绍 p{ width: 300px; height: 60px; /* 等价于 font-size: 14px; line-height: 30px; font-family: ...

  2. angular 服务 service factory provider constant value

    angular服务 服务是对公共代码的抽象,由于依赖注入的要求,服务都是单例的,这样我们才能到处注入它们,而不用去管理它们的生命周期. angular的服务有以下几种类型: 常量(Constant): ...

  3. Json对象与Json字符串的转化、JSON字符串与Java对象的转换(转)

    一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...

  4. 2018年美国大学生数学建模竞赛(MCM/ICM) C题解题思路

    整个赛题是一道大数据的深层挖掘与分析赛题,数据在这是很重要的组成因 素,因此大家首先应该把题目所给的数据搞清楚搞明白.赛题的关键是能源生产 和使用的合理安排,针对第一部分,主要解决能源的配置与评价问题 ...

  5. JUC——并发集合类

    如果要进行多个数据的保存,无疑首选类集(List.Set.Queue.Map),在类集的学习的时候也知道一个概念:许多集合的子类都具有同步与异步的差别,但是如果真的要在多线程之中去使用这些类,是否真的 ...

  6. mac上搭建appium+IOS自动化测试环境(二)

    上一篇: mac上搭建appium+IOS自动化测试环境(一) 9.安装appium-xcuitest-driver依赖 进入WebDriverAgent安装目录,运行bootstrap 首先进入目录 ...

  7. node.js主从分布式爬虫

    前言 前文介绍过用Python写爬虫,但是当任务多的时候就比较慢, 这是由于Python自带的http库urllib2发起的http请求是阻塞式的,这意味着如果采用单线程模型,那么整个进程的大部分时间 ...

  8. 如何在window服务器上搭建一个能代替ftp的传输工具

    通常对于服务器上的文件管理和数据传输都是利用ftp来实现,但随着存储技术的发展,数据资产的存储规模和复杂程度不断提高,传统的ftp传输显得有笨重.今天给大家介绍一款能够取代ftp的在线文档管理软件—— ...

  9. docker实现跨主机连接

    实验环境: centos7系统 host1:192.168.42.128 host2:192.168.42.129 dokcer容器跨主机连接 1.使用网桥实现跨主机容器连接 2.使用Open vSw ...

  10. 局域网arpspoof欺骗获取cookie/图片/密码

    开启路由转发功能 查看IP转发功能是否打开 默认是不开起,0,我这里是修改后的,显示1. 修改转发功能,1为允许. 修改成功后再进行Arpspoof欺骗 如果开始劫持后,自己电脑无法联网了 ??? 检 ...