色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

JAVA使用DBUtils操作數(shù)據(jù)庫(kù)

瀏覽:12日期:2022-08-29 18:24:51

摘要:本文主要學(xué)習(xí)了如何使用DBUtils在Java代碼中更方便的操作數(shù)據(jù)庫(kù)。

概述

DBUtils是Java編程中的數(shù)據(jù)庫(kù)操作實(shí)用工具,小巧簡(jiǎn)單實(shí)用。

DBUtils封裝了對(duì)JDBC的操作,簡(jiǎn)化了JDBC操作,可以少寫代碼。

使用

準(zhǔn)備

如果需要使用DBUtils工具類,需要導(dǎo)包:

commons-dbutils-1.7.jar

DBUtils封裝了在建立連接后對(duì)數(shù)據(jù)庫(kù)的操作,主要有三個(gè)核心功能:

1)QueryRunner類提供對(duì)SQL語(yǔ)句操作的API。

2)ResultSetHandler接口用于定義查詢操作后,如何封裝結(jié)果集。

3)DBUtils工具類定義了關(guān)閉資源與事務(wù)處理的方法。

常用方法

構(gòu)造方法

提供了帶數(shù)據(jù)源和不帶數(shù)據(jù)源的兩種構(gòu)造方法。

public QueryRunner();// 不提供數(shù)據(jù)源,需要手動(dòng)維護(hù)Connection。 public QueryRunner(DataSource ds);// 提供數(shù)據(jù)源,DbUtils底層自動(dòng)維護(hù)連接Connection。

查詢操作

支持執(zhí)行查詢操作。

public <T> T query(Connection conn, String sql, ResultSetHandler<T> rsh); public <T> T query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params); public <T> T query(String sql, ResultSetHandler<T> rsh); public <T> T query(String sql, ResultSetHandler<T> rsh, Object... params);

更新操作

支持執(zhí)行增加、修改、刪除操作。

public int update(Connection conn, String sql); public int update(Connection conn, String sql, Object param); public int update(Connection conn, String sql, Object... params); public int update(String sql); public int update(String sql, Object param); public int update(String sql, Object... params);

增加操作

支持執(zhí)行增加操作,可以返回增加的數(shù)據(jù)。

public <T> T insert(Connection conn, String sql, ResultSetHandler<T> rsh); public <T> T insert(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params); public <T> T insert(String sql, ResultSetHandler<T> rsh); public <T> T insert(String sql, ResultSetHandler<T> rsh, Object... params);

批量執(zhí)行

支持批量執(zhí)行增加、修改、刪除操作。

public int[] batch(Connection conn, String sql, Object[][] params); public int[] batch(String sql, Object[][] params);

存儲(chǔ)過(guò)程

支持執(zhí)行存錯(cuò)過(guò)程語(yǔ)句,也支持沒(méi)有存儲(chǔ)過(guò)程的語(yǔ)句,但沒(méi)有存錯(cuò)過(guò)程的語(yǔ)句不建議調(diào)用這個(gè)方法。

public int execute(Connection conn, String sql, Object... params); public int execute(String sql, Object... params); public <T> List<T> execute(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params); public <T> List<T> execute(String sql, ResultSetHandler<T> rsh, Object... params);

ResultSetHandler接口說(shuō)明

BeanHandler:將結(jié)果集中的第一行數(shù)據(jù)封裝到一個(gè)對(duì)應(yīng)的JavaBean實(shí)例中。 BeanListHandler:將結(jié)果集中的每一行數(shù)據(jù)都封裝到一個(gè)對(duì)應(yīng)的JavaBean實(shí)例中,再存放到List里。 ArrayHandler:將結(jié)果集中的第一行數(shù)據(jù)轉(zhuǎn)成對(duì)象數(shù)組。 ArrayListHandler:將結(jié)果集中的每一行數(shù)據(jù)都轉(zhuǎn)成一個(gè)對(duì)象數(shù)組,再存放到List中。 MapHandler:將結(jié)果集中的第一行數(shù)據(jù)封裝到一個(gè)Map里,key是列名,value就是對(duì)應(yīng)的值。 MapListHandler:將結(jié)果集中的每一行數(shù)據(jù)都封裝到一個(gè)Map里,再存放到List ScalarHandler:將結(jié)果集第一行的某一列放到某個(gè)對(duì)象中。

關(guān)閉資源與事務(wù)處理

是否自動(dòng)關(guān)閉Connection資源是由創(chuàng)建QueryRunner時(shí)使用的構(gòu)造器決定的:

1)如果傳入了數(shù)據(jù)源,那么Connection會(huì)自動(dòng)關(guān)閉,在調(diào)用增刪查改的方法時(shí)就不需要傳入Connection。這種方式會(huì)導(dǎo)致每次執(zhí)行SQL都會(huì)建立新連接,在SQL執(zhí)行完畢后會(huì)斷開(kāi)連接,無(wú)法通過(guò)Connection控制事務(wù)。

2)如果沒(méi)有傳入數(shù)據(jù)源,那么Connection需要手動(dòng)關(guān)閉,在調(diào)用增刪查改方法時(shí)需要手動(dòng)傳入Connection。這種方式在執(zhí)行SQL時(shí)不會(huì)獲取新連接,也不會(huì)在SQL執(zhí)行完畢后斷開(kāi)連接,可以根據(jù)傳入的Connection控制事務(wù)。

以上就是JAVA使用DBUtils操作數(shù)據(jù)庫(kù)的詳細(xì)內(nèi)容,更多關(guān)于DBUtils操作數(shù)據(jù)庫(kù)的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 国产乱码精品一区二区三区卡 | 国产精选在线视频 | 成人影院vs一区二区 | 亚洲一区2区三区4区5区 | 91情侣高清精品国产 | 99国产精品九九视频免费看 | 草草影院欧美三级日本 | 免费国产成人综合 | 国产成人亚洲精品老王 | 成年人午夜免费视频 | 国内成人精品视频 | 亚洲综合一区二区三区 | 欧美大片无尺码在线观看 | zztt40.su黑料不打烊官网 | 亚洲欧美视频一区二区 | 欧美高清在线精品一区二区不卡 | 欧美另类69xxxxx视频 | 日本一区二区三区在线 视频观看免费 | 日本乱人伦毛片 | 日本高清在线中文字幕网 | 亚洲天堂二区 | 久久两性 | 欧美一级一毛片 | 亚洲骚片 | 成人网在线免费观看 | 精品久久香蕉国产线看观看亚洲 | 日韩欧美亚洲中字幕在线播放 | 日韩在线无| 韩国免费特一级毛片 | 香港a毛片免费全部播放 | 成年人黄色免费网站 | 国产午夜精品理论片久久影视 | 日韩精品永久免费播放平台 | 亚洲国产国产综合一区首页 | 欧美在线亚洲国产免m观看 欧美在线一级精品 | 久久精品国产99国产精品免费看 | 黄人成a动漫片免费网站 | 欧美三级中文字幕 | 欧美福利一区二区三区 | 亚洲日本久久一区二区va | 亚洲天堂在线观看视频 |