java----DBUtils知识点补充
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知识点补充相关推荐
- Java 面试知识点解析(七)——Web篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- Java 面试知识点解析(六)——数据库篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- Java 面试知识点解析(五)——网络协议篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- Java 面试知识点解析(三)——JVM篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- Java 面试知识点解析(二)——高并发编程篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- Java 面试知识点解析(一)——基础知识篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- 虚拟机的分类_「面试必备」Java虚拟机知识点复习手册(下)
关注我的微信公众号:后端技术漫谈 不定期推送关于后端开发.爬虫.算法题.数据结构方面的原创技术文章,以及生活中的逸闻趣事. 我目前是一名后端开发工程师.主要关注后端开发,数据安全,网络爬虫,物联网,边 ...
- java基础知识点整理一
java基础知识点整理一 引言 '''突然发觉任何一门语言的基础知识部分,都比较杂一些.如果个人经过梳理之后,知识体系系统化,可以让基础更加牢靠一些.但是还是会有一些遗忘.所以,我想把一些比较重要但是 ...
- Java虚拟机知识点快速复习手册(上)
前言 本文快速回顾了常考的的知识点,用作面试复习,事半功倍. 上篇主要内容为:虚拟机数据区域,垃圾回收 下篇主要内容为:类加载机制 面试知识点复习手册 全复习手册文章导航 Csdn全复习手册文章导航: ...
- Jaeger知识点补充
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos <Jaeger实战(Java版)>系列全文 ...
最新文章
- Python基础知识详解
- 心得丨程序员们,AI来了,机会来了,危机也来了,我们该咋办?
- cocos2d笔记——解析HelloWorldScene
- bigdecimal正确用法_BigDecimal用法详解
- 深入了解DefaultMessageListenerContainer
- Spring 的循环依赖:真的必须非要三级缓存吗?
- 大数据心得体会_20年备受关注的6款数据工具!谁最好用?毫无争议的答案来了...
- UnityShader[3]屏幕后处理学习笔记
- Unity通过压缩字体减小包体大小
- g729源码分析-9-g729-解码
- raid0 trim linux,6系主板泪流满面,终于支持RAID 0模式下的TRIM了
- 魔兽争霸3冰封王座十大经典战役全集
- VHDL移位操作的两种方式,及乘除运算中小数倍的解法
- 生命是脆弱的-人生最大的挫折
- 博士骗领210万元、硕士骗领3万元人才补贴,全被判刑了!
- 网络共享计算机怎么连接,电脑共享网络怎么连接
- abap 发票冲销VF11的BAPI:BAPI_BILLINGDOC_CANCEL1
- word里边的表格怎么弄到ppt里
- 最有效率的⽅法计算2乘以8
- eja智能压力变送器工作原理_HONEYWEL、 EJA 、罗斯蒙特变送器的工作原理
热门文章
- 东北农业大计算机排名,黑龙江高校排名更新,东北林大排名第3,东油排名第8...
- html 表单优化,用CSS3优化HTML5表单的步奏
- c语言网上找程序组合,C语言程序我同学说在网上下的一章一章的小说组合成一个太麻烦,于是 爱问知识人...
- 华为cor—al10_cor al10是华为什么型号 cor al10是华为啥型号
- c# ef报错_C# EF调用MySql出现“未将对象引用设置到对象的实例”错误解决方案
- php 去除 html 属性,用PHP 去掉所有html标签里的部分属性
- mysql添加字符串日期时间_mysql学习笔记--- 字符串函数、日期时间函数
- Windows主机安全加固
- 计算机系统组织结构,第4章 操作系统计算机组织结构.ppt
- MySQL优化filler值_MySQL 性能优化神器 Explain 使用分析