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. 【fake题解】[NOI2013]向量内积

    [fake题解][NOI2013]向量内积 做法1 大暴力.哪里不会T哪里. 做法2 所有数都%=k不影响结果.(废话 k的取值只有2和3,所以肯定是要分类讨论的.k=2肯定简单些啦. k=2 出现的 ...

  2. Java动态代理:一个面包店的动态代理帝国

    文章首发于[博客园-陈树义],点击跳转到原文大白话说Java动态代理:一个面包店的动态代理帝国 代理模式是设计模式中非常重要的一种类型,而设计模式又是编程中非常重要的知识点,特别是在业务系统的重构中, ...

  3. UWP UserControl 不会自适应大小

    在一般的Page里面,我们通过VisualStateManager,可以根据窗体的宽度,来调整一些控件大小. <VisualStateManager.VisualStateGroups> ...

  4. 自制刻度尺插件-前端简易实现"腾讯信用"界面

    依据我现有的知识,在前端上"简易"的实现了腾讯信用的界面,同时自己自制了一个竖直的刻度尺插件,曲线的位置可以根据传入的数值动态的改变,这次主要也想总结一下关于jQuery中exte ...

  5. Django 构建一个项目

    一.创建django程序 终端命令:django-admin startproject fahaicmd IDE创建Django程序时,本质上都是自动执行上述命令 其他常用命令: python man ...

  6. Python中格式化format()方法详解

    Python中格式化format()方法详解 Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法; Python是完全面向对象的语言, 任何东西都是对象; 字符串的参 ...

  7. Netty源码分析第2章(NioEventLoop)---->第8节: 执行任务队列

      Netty源码分析第二章: NioEventLoop   第八节: 执行任务队列 继续回到NioEventLoop的run()方法: protected void run() { for (;;) ...

  8. ACM中常见错误提示解析

    Output Limit Exceeded 多数发生在递归遍历的过程中,多输出了一些内容(比如说空格).Output Limit Exceeded还指如果输入某一组数据,你的程序返回的结果是一直输出某 ...

  9. FICO(费埃哲)评分系统有什么优缺点?在国内的发展怎么样?

    权威回答: FICO的优点很明显: 在美国数据库较全面.一般存储有最近7-10年的个人信用记录,包括银行信用.商业信用甚至保险等. 客观性.计算机自动完成评估工作,克服人为操作的失误. 快捷性.出结果 ...

  10. Go文件右键编译

    辛辛苦苦写好了.go文件 发现编译还得敲命令才行,或许配置一个好用点的IDE环境可以解决 但是有时候实在不想开IDE 于是在右键添加了一个编译功能 首先保证go相关的环境变量配置正确 Windows ...