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)