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

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

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

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

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

概述

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

DBUtils封裝了對JDBC的操作,簡化了JDBC操作,可以少寫代碼。

使用

準(zhǔn)備

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

commons-dbutils-1.7.jar

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

1)QueryRunner類提供對SQL語句操作的API。

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

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

常用方法

構(gòu)造方法

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

public QueryRunner();// 不提供數(shù)據(jù)源,需要手動維護(hù)Connection。 public QueryRunner(DataSource ds);// 提供數(shù)據(jù)源,DbUtils底層自動維護(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);

存儲過程

支持執(zhí)行存錯過程語句,也支持沒有存儲過程的語句,但沒有存錯過程的語句不建議調(diào)用這個方法。

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接口說明

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

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

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

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

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

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

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 亚洲在线网站 | 日韩欧美中文字幕在线播放 | 黄色三级日韩 | 国产不卡影院 | 99视频国产在线 | 爱福利极品盛宴 | 女人张开腿让男人捅的视频 | 免费一级做a爰片性色毛片 免费一极毛片 | 性盈盈影院67194 | 亚洲欧洲日产v特级毛片 | 免费观看欧美精品成人毛片能看的 | 中文字幕亚洲国产 | 国内精品久久久久不卡 | 日b毛片 | 九九热精品在线 | 免费看真人a一级毛片 | 日本三级香港三级乳网址 | 激情性爽三级成人 | 九色愉拍自拍 | 国产a一级毛片午夜剧院 | 亚洲欧美手机在线观看 | 黄色成人在线网站 | 日韩欧美国产精品第一页不卡 | 香蕉视频国产精品 | 久草在 | 最新精品亚洲成a人在线观看 | 激情欧美日韩一区二区 | 在线视频一区二区三区三区不卡 | 自拍偷在线精品自拍偷无码专区 | 日韩欧美在线视频一区二区 | 亚洲国产成人久久午夜 | 国产亚洲精品日韩已满十八 | 久久夜色精品国产 | 久久成人免费观看草草影院 | 日本一级毛片视频无遮挡免费 | 久国产精品视频 | 品色堂永久免费 | 欧美xxxx成人免费网站 | 猛操美女 | 丰满老熟女毛片 | 亚洲高清在线观看看片 |