dbutils 只是帮我们简化了CRUD 的代码, 但是连接的创建以及获取工作。 不在他的考虑范围

QueryRunner主要是这个类

import java.sql.SQLException;import org.apache.commons.dbutils.QueryRunner;import com.mchange.v2.c3p0.ComboPooledDataSource;public class DBUtilsDemo1 {//dbutils 只是帮我们简化了CRUD 的代码, 但是连接的创建以及获取工作。 不在他的考虑范围//QueryRunner主要是这个类public static void main(String[] args) throws SQLException {//本部分演示QueryRunner类的增加,删除,更新//结合C3p0的配置文件的使用方式,直接一行代码获取连接QueryRunner queryRunner=new QueryRunner(new ComboPooledDataSource());//增加String sql="insert into blank values (null,?,?)";//删除String sql2="delete from blank where id=?";//更新String sql3="update blank set money=? where id=?";//直接执行就可以了//queryRunner.update(sql,"testroot",20000000);//删除的执行语句//queryRunner.update(sql2,1);//更新的执行语句queryRunner.update(sql3,800000,3);}
}

下面是实现从数据库中查询一条或者多条数据

有如下六种方法

######ResultSetHandler 常用的实现类(重点)
以下两个是使用频率最高的BeanHandler,  查询到的单个数据封装成一个对象BeanListHandler, 查询到的多个数据封装 成一个List<对象>
------------------------------------------
ArrayHandler,  查询到的单个数据封装成一个数组ArrayListHandler,  查询到的多个数据封装成一个集合 ,集合里面的元素是数组。 

MapHandler,  查询到的单个数据封装成一个map
MapListHandler,查询到的多个数据封装成一个集合 ,集合里面的元素是map。

首先看下常规的操作

import java.sql.ResultSet;
import java.sql.SQLException;import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.sun.swing.internal.plaf.basic.resources.basic;public class DBUtilDemo2 {
//演示查询一条或者多条数据库中的信息public static void main(String[] args) throws SQLException {//首先一条语句获得数据库的连接QueryRunner queryRunner = new QueryRunner(new ComboPooledDataSource());//然后使用ResultSetHandler(这种不是框架,属于常规操作)Account  accoun =  queryRunner.query("select * from blank where id = ?", new ResultSetHandler<Account>(){public Account handle(ResultSet rs) throws SQLException {Account account=new Account();while(rs.next()){String name=rs.getString("name");int money=rs.getInt("money");account.setName(name);account.setMoney(money);}return account;}},5);System.out.println(accoun.getName()+"========"+accoun.getMoney());}
}

 BeanHandler,  查询到的单个数据封装成一个对象
public class DBUtilDemo2 {
//演示查询一条或者多条数据库中的信息public static void main(String[] args) throws SQLException {//首先一条语句获得数据库的连接QueryRunner queryRunner = new QueryRunner(new ComboPooledDataSource());//然后使用ResultSetHandler(这种不是框架,属于常规操作)Account  accoun =  queryRunner.query("select * from blank where id = ?", new BeanHandler<Account>(Account.class),5);System.out.println(accoun.getName()+"========"+accoun.getMoney());//testroot========20000000
    }
}

BeanListHandler, 查询到的多个数据封装 成一个List<对象>
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.sun.swing.internal.plaf.basic.resources.basic;public class DBUtilDemo2 {
//演示查询一条或者多条数据库中的信息public static void main(String[] args) throws SQLException {//首先一条语句获得数据库的连接QueryRunner queryRunner = new QueryRunner(new ComboPooledDataSource());//BeanListHandler获得数据库的全部信息List<Account> list= queryRunner.query("select * from blank", new BeanListHandler<Account>(Account.class));//遍历输出int len=list.size();for(int i=0;i<len;i++){Account blank=list.remove(0);System.out.println(blank.getName()+"====="+blank.getMoney());}}
}

其中Account类代码如下

public class Account {public String name;public int money;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getMoney() {return money;}public void setMoney(int money) {this.money = money;}}

转载于:https://www.cnblogs.com/byczyz/p/11349538.html

java----DBUtils知识点补充相关推荐

  1. Java 面试知识点解析(七)——Web篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  2. Java 面试知识点解析(六)——数据库篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  3. Java 面试知识点解析(五)——网络协议篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  4. Java 面试知识点解析(三)——JVM篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  5. Java 面试知识点解析(二)——高并发编程篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  6. Java 面试知识点解析(一)——基础知识篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  7. 虚拟机的分类_「面试必备」Java虚拟机知识点复习手册(下)

    关注我的微信公众号:后端技术漫谈 不定期推送关于后端开发.爬虫.算法题.数据结构方面的原创技术文章,以及生活中的逸闻趣事. 我目前是一名后端开发工程师.主要关注后端开发,数据安全,网络爬虫,物联网,边 ...

  8. java基础知识点整理一

    java基础知识点整理一 引言 '''突然发觉任何一门语言的基础知识部分,都比较杂一些.如果个人经过梳理之后,知识体系系统化,可以让基础更加牢靠一些.但是还是会有一些遗忘.所以,我想把一些比较重要但是 ...

  9. Java虚拟机知识点快速复习手册(上)

    前言 本文快速回顾了常考的的知识点,用作面试复习,事半功倍. 上篇主要内容为:虚拟机数据区域,垃圾回收 下篇主要内容为:类加载机制 面试知识点复习手册 全复习手册文章导航 Csdn全复习手册文章导航: ...

  10. Jaeger知识点补充

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos <Jaeger实战(Java版)>系列全文 ...

最新文章

  1. Python基础知识详解
  2. 心得丨程序员们,AI来了,机会来了,危机也来了,我们该咋办?
  3. cocos2d笔记——解析HelloWorldScene
  4. bigdecimal正确用法_BigDecimal用法详解
  5. 深入了解DefaultMessageListenerContainer
  6. Spring 的循环依赖:真的必须非要三级缓存吗?
  7. 大数据心得体会_20年备受关注的6款数据工具!谁最好用?毫无争议的答案来了...
  8. UnityShader[3]屏幕后处理学习笔记
  9. Unity通过压缩字体减小包体大小
  10. g729源码分析-9-g729-解码
  11. raid0 trim linux,6系主板泪流满面,终于支持RAID 0模式下的TRIM了
  12. 魔兽争霸3冰封王座十大经典战役全集
  13. VHDL移位操作的两种方式,及乘除运算中小数倍的解法
  14. 生命是脆弱的-人生最大的挫折
  15. 博士骗领210万元、硕士骗领3万元人才补贴,全被判刑了!
  16. 网络共享计算机怎么连接,电脑共享网络怎么连接
  17. abap 发票冲销VF11的BAPI:BAPI_BILLINGDOC_CANCEL1
  18. word里边的表格怎么弄到ppt里
  19. 最有效率的⽅法计算2乘以8
  20. eja智能压力变送器工作原理_HONEYWEL、 EJA 、罗斯蒙特变送器的工作原理

热门文章

  1. 东北农业大计算机排名,黑龙江高校排名更新,东北林大排名第3,东油排名第8...
  2. html 表单优化,用CSS3优化HTML5表单的步奏
  3. c语言网上找程序组合,C语言程序我同学说在网上下的一章一章的小说组合成一个太麻烦,于是 爱问知识人...
  4. 华为cor—al10_cor al10是华为什么型号 cor al10是华为啥型号
  5. c# ef报错_C# EF调用MySql出现“未将对象引用设置到对象的实例”错误解决方案
  6. php 去除 html 属性,用PHP 去掉所有html标签里的部分属性
  7. mysql添加字符串日期时间_mysql学习笔记--- 字符串函数、日期时间函数
  8. Windows主机安全加固
  9. 计算机系统组织结构,第4章 操作系统计算机组织结构.ppt
  10. MySQL优化filler值_MySQL 性能优化神器 Explain 使用分析