内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

java學(xué)習(xí)筆記之DBUtils工具包詳解

DBUtils工具包

成都創(chuàng)新互聯(lián)主打移動(dòng)網(wǎng)站、成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、網(wǎng)站改版、網(wǎng)絡(luò)推廣、網(wǎng)站維護(hù)、國際域名空間、等互聯(lián)網(wǎng)信息服務(wù),為各行業(yè)提供服務(wù)。在技術(shù)實(shí)力的保障下,我們?yōu)榭蛻舫兄Z穩(wěn)定,放心的服務(wù),根據(jù)網(wǎng)站的內(nèi)容與功能再?zèng)Q定采用什么樣的設(shè)計(jì)。最后,要實(shí)現(xiàn)符合網(wǎng)站需求的內(nèi)容、功能與設(shè)計(jì),我們還會(huì)規(guī)劃穩(wěn)定安全的技術(shù)方案做保障。

一.介紹

DBUtils是Apache組織開源的數(shù)據(jù)庫工具類。

二.使用步驟

①.創(chuàng)建QueryRunner對(duì)象

②.調(diào)用update()方法或者query()方法執(zhí)行sql語句

三.構(gòu)造方法及靜態(tài)方法

QueryRunner類

1.構(gòu)造方法

①.無參構(gòu)造

QueryRunner qr =new QueryRunner();

使用無參構(gòu)造的時(shí)候,調(diào)用update方法和query方法時(shí)就需要使用帶Connection 類型參數(shù)的重載形式

②.有參構(gòu)造

QueryRunner qr= new QueryRunner(DataSource dataSource);

這個(gè)參數(shù)是連接池對(duì)象

2.靜態(tài)方法

①.int update(Connection con ,String sql ,Param);

該方法用于增刪改語句的操作

參數(shù)介紹:

參數(shù)一:連接池對(duì)象(這個(gè)在無參構(gòu)造的時(shí)候使用)

參數(shù)二:sql語句

參數(shù)三:可變參數(shù)(就是sql占位符的值)

返回值:int類型的 返回受影響的行數(shù)

簡(jiǎn)單update demo

public class Demo {
 public static void main(String[] args) throws Exception {
  /*
   * 演示有參構(gòu)造的update()方法
   * 
   * 首先得導(dǎo)入jar包
   * 配置好C3P0的配置文件與準(zhǔn)備好C3P0工具類
   * 然后創(chuàng)建QueryRunner對(duì)象
   * 調(diào)用update方法
   * 最后處理結(jié)果
   */
  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("修改失敗");
  }
 }
}

附上簡(jiǎn)單的C3P0工具類

public class C3P0Utils {
 private static DataSource dataSource=new ComboPooledDataSource();
 /**
  * 獲得DataSource實(shí)現(xiàn)類對(duì)象
  * @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 ...)

該方法用于出查詢操作

參數(shù)介紹:

參數(shù)一:Connection 數(shù)據(jù)庫連接對(duì)象, 使用帶參構(gòu)造時(shí)可以不用

參數(shù)二:sql語句

參數(shù)三:表示對(duì)結(jié)果集的處理方式 (ResultSetHandler接口)

ArrayHandler: 表示將結(jié)果集第一行的數(shù)據(jù)存入數(shù)組

ArrayListHandler 將結(jié)果集每一行的數(shù)據(jù)存入數(shù)組,多個(gè)數(shù)組存入集合 List<Object[]>

BeanHandler 表示將結(jié)果集第一行的數(shù)據(jù)存入Java Bean對(duì)象

BeanListHandler 表示將結(jié)果集每一行的數(shù)據(jù)存入Java Bean對(duì)象 ,多個(gè)對(duì)象存入集合

ColumnListHandler 表示將某一列的數(shù)據(jù)存入集合

MapHandler 表示將結(jié)果集第一行的數(shù)據(jù)存入Map集合 :鍵:列名 值:列的值

MapListHandler 表示將結(jié)果集每一行的數(shù)據(jù)存入Map集合 多個(gè)Map存入List集合 List<Map<,>>

ScalarHandler 獲取一個(gè)值: count(*) sum(price)

參數(shù)四:可變參數(shù)(就是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學(xué)習(xí)筆記之DBUtils工具包詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持創(chuàng)新互聯(lián)。

標(biāo)題名稱:java學(xué)習(xí)筆記之DBUtils工具包詳解
URL網(wǎng)址:http://www.rwnh.cn/article34/gsjhse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、定制網(wǎng)站定制開發(fā)、域名注冊(cè)網(wǎng)站排名、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
太康县| 贵溪市| 隆尧县| 长武县| 康乐县| 乾安县| 吉隆县| 平阴县| 苏尼特左旗| 荔波县| 蒲城县| 同江市| 新蔡县| 太仆寺旗| 雷山县| 唐海县| 元氏县| 巍山| 武功县| 义乌市| 丽水市| 崇左市| 连云港市| 徐州市| 土默特左旗| 黔江区| 莱州市| 东乡族自治县| 武山县| 宜都市| 贺兰县| 西林县| 潢川县| 晋州市| 万宁市| 新疆| 苗栗市| 板桥市| 江都市| 钦州市| 宜川县|