Java 使用 Dbutils 工具类库 操作mysql

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 使用 Dbutils 工具类库 操作mysql相关的知识,希望对你有一定的参考价值。

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

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

  1 package JDBCDemo;
  2 
  3 import java.sql.SQLException;
  4 import java.util.ArrayList;
  5 import java.util.HashMap;
  6 import java.util.List;
  7 import java.util.Map;
  8 
  9 import javax.xml.bind.annotation.W3CDomHandler;
 10 
 11 import org.apache.commons.dbutils.DbUtils;
 12 import org.apache.commons.dbutils.QueryRunner;
 13 import org.apache.commons.dbutils.handlers.ArrayHandler;
 14 import org.apache.commons.dbutils.handlers.ArrayListHandler;
 15 import org.apache.commons.dbutils.handlers.BeanHandler;
 16 import org.apache.commons.dbutils.handlers.BeanListHandler;
 17 import org.apache.commons.dbutils.handlers.ColumnListHandler;
 18 import org.apache.commons.dbutils.handlers.MapHandler;
 19 import org.apache.commons.dbutils.handlers.MapListHandler;
 20 import org.apache.commons.dbutils.handlers.ScalarHandler;
 21 
 22 import com.mysql.jdbc.Connection;
 23 
 24 public class dbutilsdemo1 {
 25     private static Connection connection  = JDBCUtils.getConnection();
 26     private static QueryRunner qRunner = new QueryRunner();
 27     public static void main(String[] args) {
 28         try {
 29             //insert();
 30             //delete();
 31             //ArraryHandlerdemo();
 32 //            beanListHandlerDemo();
 33             //ColumnListHandlerDemo();
 34             //mapHandlerDemo();
 35             mapListHandlerDemo();
 36         } catch (Exception e) {
 37             // TODO: handle exception
 38             System.out.println(e);
 39         }
 40         
 41     }
 42     public static void insert() throws SQLException {
 43         //insert  delete update 
 44         String sql = "insert into zhangwu (name,money) values (?,?);";
 45         Object[] object = {"打麻将支出",100};
 46         int row = qRunner.update(connection,sql,object);
 47         DbUtils.closeQuietly(connection);
 48         if (row>0) {
 49             System.out.println("插入数据成功");
 50         }else {
 51             System.out.println("插入数据失败");
 52         }
 53         
 54     }
 55     
 56     public static void update() throws SQLException {
 57         String sql = "update zhangwu set money=? where id=?;";
 58         Object[] object = {500,4};
 59         int row = qRunner.update(connection,sql,object);
 60         DbUtils.closeQuietly(connection);
 61         if (row>0) {
 62             System.out.println("修改数据成功");
 63         }else {
 64             System.out.println("修改数据失败");
 65         }
 66     }
 67     
 68     public static void delete() throws SQLException {
 69         String sql = "delete from  zhangwu  where id=?;";
 70         Object[] object = {100};
 71         int row = qRunner.update(connection,sql,object);
 72         DbUtils.closeQuietly(connection);
 73         if (row>0) {
 74             System.out.println("删除数据成功");
 75         }else {
 76             System.out.println("删除数据失败");
 77         }
 78     }
 79     
 80     public static void ArraryHandlerdemo () throws SQLException {
 81         //返回1条数据集
 82         //ArraryHandler
 83         String sql = "select * from  zhangwu;";
 84         Object[] res = qRunner.query(connection, sql, new ArrayHandler());
 85         for(Object object : res) {
 86             System.out.print(object+"\\t");
 87         }
 88         
 89     }
 90     public static void ArraryListHandlerDemo() throws SQLException {
 91         //返回整个数据集
 92         String sql = "select * from  zhangwu;";
 93         List<Object[]>  res = qRunner.query(connection, sql, new ArrayListHandler());
 94         for(Object[] objs : res) {
 95             for(Object oo : objs) {
 96                 System.out .print(oo  + "\\t");
 97             }
 98             System.out.println("");
 99         }
100     }
101     public static void beanHandler() throws SQLException {
102         //返回1条数据集
103         String sql = "select * from  zhangwu;";
104         Zhangwu zw = qRunner.query(connection,sql,new BeanHandler<Zhangwu>(Zhangwu.class));
105         System.out.println(zw);
106     }
107     public static void beanListHandlerDemo() throws SQLException{
108         //返回整个数据集
109         String sql = "select * from  zhangwu;";
110         List<Zhangwu> zwlist= qRunner.query(connection, sql, new BeanListHandler<Zhangwu>(Zhangwu.class));
111         for(Zhangwu zwchild : zwlist) {
112             System.out.println(zwchild.toString());
113         }
114     }
115     public static void ColumnListHandlerDemo()  throws SQLException {
116         //单列结果查询
117         String sql = "select distinct name from  zhangwu";
118         List<Object> zwlist= qRunner.query(connection, sql, new ColumnListHandler<Object>("name"));
119         for(Object zwchild : zwlist) {
120             System.out.println(zwchild.toString());
121         }
122     }
123     public static void scalarHandlerDemo() throws SQLException {
124         //单结果集查询
125         String sql = "select count(*) from  zhangwu;";
126         Long num =  qRunner.query(connection, sql, new ScalarHandler<Long>());
127         System.out.println(num);
128     }
129     public static void mapHandlerDemo() throws SQLException {
130         //结果集第一行数据 封装到map集合中
131         String sql = "select * from  zhangwu;";
132         Map< String,Object >  map= qRunner.query(connection,sql,new MapHandler());
133         for(String key : map.keySet()) {
134             System.out.println(key + "..." + map.get(key));
135         }
136     }
137     public static void mapListHandlerDemo() throws SQLException {
138         // 封装到map集合中 适合少量数据
139         String sql = "select * from  zhangwu;";
140         List<Map<String, Object>>  listmap = qRunner.query(connection, sql, new MapListHandler());
141         for(Map<String, Object> mapchild : listmap) {
142             for(String key : mapchild.keySet()) {
143                 System.out.print(key + " = " + mapchild.get(key) + "  ");
144             }
145             System.out.println("");
146         }
147     }
148 }

 

以上是关于Java 使用 Dbutils 工具类库 操作mysql的主要内容,如果未能解决你的问题,请参考以下文章

Dbutils工具类的使用

JAVA JDBC Apache-DBUtils实现CRUD操作

day14_DBUtils学习笔记

Java实战之04JavaWeb-06DBUtils

开源组件:dbutils

DBUtils工具