Java 使用 Dbutils 工具类库 操作mysql
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的更多相关文章
- Java基础-DButils工具类(QueryRunner)详解
Java基础-DButils工具类(QueryRunner)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC ...
- java使用dbutils工具类实现小程序 管家婆记账软件
1.所需创建的包和 jar包 2.创建表结构 #生成一些表数据 ,,'交通银行','2016-03-02','家庭聚餐'); ,,'现金','2016-03-15','开工资了'); ,,'现金', ...
- 【知了堂学习心得】浅谈c3p0连接池和dbutils工具类的使用
1. C3P0概述 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.目前使用它的开源项目有Hibernate,Spring等. 2. C3P ...
- Java_图片处理_02_图片处理工具类库
二.参考文档 1.Java图片处理工具类库
- Java学习之DBUtils工具的学习
简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影 ...
- Java学习笔记49(DBUtils工具类二)
上一篇文章是我们自己模拟的DBUtils工具类,其实有开发好的工具类 这里使用commons-dbutils-1.6.jar 事务的简单介绍: 在数据库中应用事务处理案例:转账案例 张三和李四都有有自 ...
- Apache—dbutils开源JDBC工具类库简介
Apache—dbutils开源JDBC工具类库简介 一.前言 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用 ...
- 【Java基础】Java开发过程中的常用工具类库
目录 Java开发过程中的常用工具类库 1. Apache Commons类库 2. Guava类库 3. Spring中的常用工具类 4. 其他工具 参考 Java开发过程中的常用工具类库 1. A ...
- Linux下用OTL操作MySql(包含自己封装的类库及演示样例代码下载)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/ClamReason/article/details/23971805 首先重点推荐介绍otl介绍及使 ...
随机推荐
- 微服务介绍及Asp.net Core实战项目系列
0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 二.目录 0.微服务介绍 1.RESTful API 规范介绍 2.asp.net core介绍及swagger使用 3.asp. ...
- JS(JavaScript)插入节点的方法appendChild与insertBefore
首先 从定义来理解 这两个方法: appendChild() 方法:可向节点的子节点列表的末尾添加新的子节点.语法:appendChild(newchild) insertBefore() 方法:可在 ...
- 人在囧途——Java程序猿学习Python
引言 LZ之前其实一直对python都很好奇,只是苦于平时没有时间去了解它,因此趁着51假期这个机会,便迫不及待的开始了自己的探索.作为一个标准的Java程序猿,在了解python的过程当中,LZ遇到 ...
- PSR编码规范
PSR-1 代码风格规范(1)常量命名:类中的常量所有字母都必须大写,单词间用下划线分隔(2)类命名:类的命名必须遵循 StudlyCaps 大写开头的驼峰命名规范(3)方法命名:方法名称必须符合 c ...
- 静态构造器(static constructor)
1.定义: 静态构造函数是实现对一个类进行初始化的方法成员. 它一般用于对静态数据的初始化. 静态构造函数不能有参数,不能有修饰符而且不能被调用,当类被加载时,类的静态构造函数自动被调用. 2.特点: ...
- PHPCMS V9 二次开发常用代码集
0:调用最新文章,带所在版块 {pc:get sql="SELECT a.title, a.catid, b.catid, b.catname, a.url as turl ,b.url a ...
- Aria2 Linux 完整安装及使用教程
Aria2 嘛,主要是用来离线下载,功能强大,支持 http/https 直链.ftp.电驴.磁力链接等等,且可以跨平台使用,配合网页端操作,简直是一代下载神器. 安装 Debian/Ubuntu: ...
- OpenFastPath(1):快平面接口是否支持多ip
1.配置环境 fp0接口上配置两个IP地址: fp0 Link encap:Ethernet HWaddr 00:0c:29:30:38:db inet addr:192.168.56. ...
- 【视频编解码·学习笔记】12. 图像参数集(PPS)介绍
一.PPS相关概念: 除了序列参数集SPS之外,H.264中另一重要的参数集合为图像参数集Picture Paramater Set(PPS). 通常情况下,PPS类似于SPS,在H.264的裸码流中 ...
- Extreme Learning Machine 翻译
本文是作者这几天翻译的一篇经典的ELM文章,是第一稿,所以有很多错误以及不足之处. 另外由于此编辑器不支持MathType所以好多公式没有显示出来,原稿是word文档. 联系:250101249@qq ...