欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java学习笔记之DBUtils工具包详解

程序员文章站 2023-12-19 14:31:52
dbutils工具包 一.介绍 dbutils是apache组织开源的数据库工具类。 二.使用步骤 ①.创建queryrunner对象 ②.调用update()方...

dbutils工具包

一.介绍

dbutils是apache组织开源的数据库工具类。

二.使用步骤

①.创建queryrunner对象

②.调用update()方法或者query()方法执行sql语句

三.构造方法及静态方法

queryrunner类

1.构造方法

①.无参构造

queryrunner qr =new queryrunner();

使用无参构造的时候,调用update方法和query方法时就需要使用带connection 类型参数的重载形式

②.有参构造

queryrunner qr= new queryrunner(datasource datasource);

这个参数是连接池对象

2.静态方法

①.int update(connection con ,string sql ,param);

该方法用于增删改语句的操作

参数介绍:

参数一:连接池对象(这个在无参构造的时候使用)

参数二:sql语句

参数三:可变参数(就是sql占位符的值)

返回值:int类型的 返回受影响的行数

简单update demo

public class demo {
 public static void main(string[] args) throws exception {
  /*
   * 演示有参构造的update()方法
   * 
   * 首先得导入jar包
   * 配置好c3p0的配置文件与准备好c3p0工具类
   * 然后创建queryrunner对象
   * 调用update方法
   * 最后处理结果
   */
  queryrunner qr = new queryrunner(c3p0utils.getdatasource());
  int re = qr.update("update user set name=? where uid=?","张三",2);
  if(re>0){
   system.out.println("修改成功");
  }else {
   system.out.println("修改失败");
  }
 }
}

附上简单的c3p0工具类

public class c3p0utils {
 private static datasource datasource=new combopooleddatasource();
 /**
  * 获得datasource实现类对象
  * @return
  */
 public static datasource getdatasource(){
  return datasource;
 }
 /**
  * 获得连接
  * @return
  * @throws exception
  */
 public static connection getconnection()throws exception{
  return datasource.getconnection();
 }
}

②.query(connection con , string sql ,param ...)

该方法用于出查询操作

参数介绍:

参数一:connection 数据库连接对象, 使用带参构造时可以不用

参数二:sql语句

参数三:表示对结果集的处理方式 (resultsethandler接口)

arrayhandler: 表示将结果集第一行的数据存入数组

arraylisthandler 将结果集每一行的数据存入数组,多个数组存入集合 list<object[]>

beanhandler 表示将结果集第一行的数据存入java bean对象

beanlisthandler 表示将结果集每一行的数据存入java bean对象 ,多个对象存入集合

columnlisthandler 表示将某一列的数据存入集合

maphandler 表示将结果集第一行的数据存入map集合 :键:列名 值:列的值

maplisthandler 表示将结果集每一行的数据存入map集合 多个map存入list集合 list<map<,>>

scalarhandler 获取一个值: count(*) sum(price)

参数四:可变参数(就是sql占位符的值)

使用beanlisthandler处理方式的demo:

public void demo1() throws exception{
  queryrunner qr = new queryrunner(myc3p0utils.getdatasource()); 
  list<car> list = qr.query("select * from car where price<20 order by price desc", new beanlisthandler<>(car.class));
  for (car car : list) {
   system.out.println(car);
  }
 
 }

javabean类的编写:

public class car {
 private int cid;
 private string cname;
 private string company;
 private string grade;
 private double price;
 @override
 public string tostring() {
  return "car [cid=" + cid + ", cname=" + cname + ", company=" + company + ", grade=" + grade + ", price=" + price
    + "]";
 }
 public int getcid() {
  return cid;
 }
 public void setcid(int cid) {
  this.cid = cid;
 }
 public string getcname() {
  return cname;
 }
 public void setcname(string cname) {
  this.cname = cname;
 }
 public string getcompany() {
  return company;
 }
 public void setcompany(string company) {
  this.company = company;
 }
 public string getgrade() {
  return grade;
 }
 public void setgrade(string grade) {
  this.grade = grade;
 }
 public double getprice() {
  return price;
 }
 public void setprice(double price) {
  this.price = price;
 }
 public car(int cid, string cname, string company, string grade, double price) {
  super();
  this.cid = cid;
  this.cname = cname;
  this.company = company;
  this.grade = grade;
  this.price = price;
 }
 public car() {
  super();
  // todo auto-generated constructor stub
 }
}

以上这篇java学习笔记之dbutils工具包详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

上一篇:

下一篇: