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. 4 CRM-权限管理rbac、github代码

    1.引入权限组件rbac 1.settings配置app.中间件 INSTALLED_APPS = [ ... ... 'crm.apps.CrmConfig', "stark.apps.S ...

  2. CentOS7 初始化配置

    一.在安装的时候配置网卡名称的参数 . 选择“Install Centos ” . 按Tab,打开kernel启动选项后,增加 net.ifnames= biosdevname= 二.最小化安装完成之 ...

  3. H5拖拽 构造拖拽及缩放 pdf文件转换为html预览

    前言: 协助项目需要实现一个签名的功能. 功能说明:1.有文本签名和头像签名.2.头像签名需要实现可拖拽功能.3.需要展示的是pdf的文件并需要获取签名位于pdf文件的相对位置. 功能一:实现拖拽 思 ...

  4. IIS 配置网站

    IIS 配置网站最常见的问题 1 文件夹权限问题 (C盘 windows下temp文件夹权限问题)2 版本问题 (框架版本问题如4.0 在2.0下运行,4.5在4.0下运行) 3如果是局域网,考虑动态 ...

  5. 优化JDBC开发

    一.元数据 元数据:数据库.表.列的定义信息 1.DataBaseMetaData对象 getURL():返回一个String类对象,代表数据库的URL. getUserName():返回连接当前数据 ...

  6. Charles工具内存不足时解决办法

    Charles runs out of memory After recording for a while Charles will run low on available memory. To ...

  7. charles工具教程

    本文的内容主要包括: Charles 的简介 如何安装 Charles 将 Charles 设置成系统代理 Charles 主界面介绍 过滤网络请求 截取 iPhone 上的网络封包 截取 Https ...

  8. C语言学习之路之基础变量

    Hello,大家好,今天又和大家见面了!前两天,我看到了几款游戏引擎渲染效果的对比的视频,https://www.bilibili.com/video/av5113296?from=search&am ...

  9. java中重要的多线程工具类

    前言 之前学多线程的时候没有学习线程的同步工具类(辅助类).ps:当时觉得暂时用不上,认为是挺高深的知识点就没去管了.. 在前几天,朋友发了一篇比较好的Semaphore文章过来,然后在浏览博客的时候 ...

  10. TeamWork#1,Week 2,Learn In Team

    我觉得做为一个团队,每个人的能力固然重要,但是更重要的是几个人能同心协力. 俗话说“三个臭皮匠,赛过诸葛亮”,团队合作往往能激发出团体不可思议的潜力,集体协作干出的成果往往能超过成员个人业绩的总和.在 ...