最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java學習筆記之DBUtils工具包詳解

 更新時間:2018年01月06日 09:43:23   作者:猿上生活  
下面小編就為大家分享一篇java學習筆記之DBUtils工具包詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

DBUtils工具包

一.介紹

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

二.使用步驟

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

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

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

QueryRunner類

1.構(gòu)造方法

①.無參構(gòu)造

QueryRunner qr =new QueryRunner();

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

②.有參構(gòu)造

QueryRunner qr= new QueryRunner(DataSource dataSource);

這個參數(shù)是連接池對象

2.靜態(tài)方法

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

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

參數(shù)介紹:

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

參數(shù)二:sql語句

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

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

簡單update demo

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

附上簡單的C3P0工具類

public class C3P0Utils {
 private static DataSource dataSource=new ComboPooledDataSource();
 /**
  * 獲得DataSource實現(xiàn)類對象
  * @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ù)庫連接對象, 使用帶參構(gòu)造時可以不用

參數(shù)二:sql語句

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

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

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

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

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

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

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

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

ScalarHandler 獲取一個值: 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學習筆記之DBUtils工具包詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 深入探討Java應(yīng)用性能監(jiān)控與調(diào)優(yōu)的工具鏈構(gòu)建

    深入探討Java應(yīng)用性能監(jiān)控與調(diào)優(yōu)的工具鏈構(gòu)建

    這篇文章主要來和大家將深入探討Java應(yīng)用性能監(jiān)控與調(diào)優(yōu)的完整工具鏈,從傳統(tǒng)的單機分析工具JProfiler到現(xiàn)代化的分布式監(jiān)控系統(tǒng)Prometheus,希望能幫助開發(fā)者和運維人員構(gòu)建全方位的性能監(jiān)控體系
    2025-06-06
  • SpringMVC中的handlerMappings對象用法

    SpringMVC中的handlerMappings對象用法

    這篇文章主要介紹了SpringMVC中的handlerMappings對象用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Spring學習筆記1之IOC詳解盡量使用注解以及java代碼

    Spring學習筆記1之IOC詳解盡量使用注解以及java代碼

    這篇文章主要介紹了Spring學習筆記1之IOC詳解盡量使用注解以及java代碼 的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • Java獲取指定父節(jié)點、子節(jié)點的方法實現(xiàn)

    Java獲取指定父節(jié)點、子節(jié)點的方法實現(xiàn)

    在Java中,要獲取指定節(jié)點的父節(jié)點和子節(jié)點,通常需要使用 DOM,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02
  • Java簡單高效實現(xiàn)分頁功能

    Java簡單高效實現(xiàn)分頁功能

    這篇文章主要介紹了Java簡單高效實現(xiàn)分頁功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • datatables 帶查詢條件java服務(wù)端分頁處理實例

    datatables 帶查詢條件java服務(wù)端分頁處理實例

    本篇文章主要介紹了datatables 帶查詢條件java服務(wù)端分頁處理實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • SpringBoot中的條件裝配方法

    SpringBoot中的條件裝配方法

    在實際的項目開發(fā)中,我們往往需要根據(jù)不同的環(huán)境做出不同的配置,例如:在開發(fā)環(huán)境下,我們會使用內(nèi)存數(shù)據(jù)庫以便快速啟動服務(wù)并進行開發(fā)調(diào)試,在test環(huán)境、生產(chǎn)環(huán)境,會使用對應(yīng)環(huán)境的數(shù)據(jù)庫,這篇文章主要介紹了SpringBoot中的條件裝配方法,需要的朋友可以參考下
    2024-08-08
  • Java新手啟航之JDK?21版本安裝開啟編程之路

    Java新手啟航之JDK?21版本安裝開啟編程之路

    Java是一門面向?qū)ο蟮木幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,這篇文章主要介紹了Java新手啟航之JDK?21版本安裝開啟編程之路的相關(guān)資料,需要的朋友可以參考下
    2025-12-12
  • Java實現(xiàn)Excel批量導入數(shù)據(jù)

    Java實現(xiàn)Excel批量導入數(shù)據(jù)

    這篇文章主要為大家詳細介紹了Java實現(xiàn)Excel批量導入數(shù)據(jù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • Java如何修改JsonObject中的屬性值

    Java如何修改JsonObject中的屬性值

    這篇文章主要介紹了Java如何修改JsonObject中的屬性值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評論

西昌市| 清徐县| 象山县| 盐津县| 固原市| 梁山县| 长垣县| 通榆县| 同仁县| 芜湖市| 沧州市| 南开区| 塔城市| 曲麻莱县| 应用必备| 原阳县| 海南省| 本溪| 富蕴县| 喀什市| 东兴市| 赤水市| 清徐县| 阳山县| 沁源县| 大丰市| 姚安县| 介休市| 鄂托克前旗| 罗源县| 驻马店市| 安康市| 南通市| 抚远县| 云霄县| 鹿泉市| 剑阁县| 白河县| 平利县| 家居| 温宿县|