Java構(gòu)建JDBC應(yīng)用程序的實(shí)例操作
我們?cè)趯W(xué)習(xí)接口的時(shí)候。能夠在里面做一些方法的調(diào)用。不過(guò)今天所要講的JDBC,雖然也是連接數(shù)據(jù)庫(kù)的一種接口,不過(guò)與類接口有著很大的區(qū)別,大家要注意區(qū)分。下面我們就構(gòu)建JDBC的步驟進(jìn)行了整理,還不會(huì)此類操作的小伙伴,一起來(lái)看看具體的內(nèi)容吧。
1、加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)。 通常使用 Class 類的 forName()靜態(tài)方法來(lái)加載驅(qū)動(dòng)。 例如如下代碼:
// 加載驅(qū)動(dòng) Class.forName(driverClass)
2、通過(guò) DriverManager 獲取數(shù)據(jù)庫(kù)連接。 DriverManager 提供了如下方法:
// 獲取數(shù)據(jù)庫(kù)連接 DriverManager.getConnection(String url,String user,String password);
3、通過(guò) Connection 對(duì)象創(chuàng)建 Statement 對(duì)象。 Connection 創(chuàng)建Statement 的方法有如下三個(gè):
- createStatement(): 創(chuàng)建基本的 Statement 對(duì)象。
- prepareStatement(String sql): 根據(jù)傳入的 SQL 語(yǔ)句創(chuàng)建預(yù)編譯的 Statement 對(duì)象。
- prepareCall(String sql): 根據(jù)傳入的 SQL 語(yǔ)句創(chuàng)建 CallableStatement 對(duì)象。
4、使用 Statement 執(zhí)行 SQL 語(yǔ)句。所有的 Statement 都有如下三個(gè)方法來(lái)執(zhí)行 SQL 語(yǔ)句:
- execute(): 可以執(zhí)行任何 SQL 語(yǔ)句, 但比較麻煩。
- executeUpdate(): 主要用于執(zhí)行 DML 和 DDL 語(yǔ)句。 執(zhí)行 DML 語(yǔ)句返回受 SQL 語(yǔ)句影響的行數(shù), 執(zhí)行 DDL 語(yǔ)句返回 0。
- executeQuery(): 只能執(zhí)行查詢語(yǔ)句, 執(zhí)行后返回代表查詢結(jié)果的 ResultSet 對(duì)象。
5、操作結(jié)果集。如果執(zhí)行的SQL語(yǔ)句是查詢語(yǔ)句,則執(zhí)行結(jié)果將返回一個(gè)ResultSet對(duì)象,該對(duì)象里保存了SQL語(yǔ)句查詢的結(jié)果??梢酝ㄟ^(guò)操作該對(duì)象取得查詢結(jié)果。
6、回收數(shù)據(jù)庫(kù)資源,包括關(guān)閉 ResultSet、 Statement 和 Connection 等資源。
基礎(chǔ)知識(shí)點(diǎn)擴(kuò)展:
什么是JDBC
JDBC全稱Java Database Connectivity
JDBC可以通過(guò)載入不同的數(shù)據(jù)庫(kù)的“驅(qū)動(dòng)程序”而與不同的數(shù)據(jù)庫(kù)進(jìn)行連接。
JDBC的優(yōu)點(diǎn)
使用的驅(qū)動(dòng)不同,即可連接不同的數(shù)據(jù)庫(kù)。
使用同一套操作來(lái)操作不同的數(shù)據(jù)庫(kù)
如果每一個(gè)數(shù)據(jù)庫(kù)java都制訂一套連接方式,那么當(dāng)不同的數(shù)據(jù)庫(kù)更新的時(shí)候,java也需要更新自己的代碼,而使用jdbc,使用同一套代碼來(lái)操作,使用不同的驅(qū)動(dòng)程序(驅(qū)動(dòng)程序由數(shù)據(jù)庫(kù)廠商提供)來(lái)連接,這使得可以連接不同的數(shù)據(jù)庫(kù)。
到此這篇關(guān)于Java構(gòu)建JDBC應(yīng)用程序的實(shí)例操作的文章就介紹到這了,更多相關(guān)Java構(gòu)建JDBC應(yīng)用的操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java?事務(wù)注解@Transactional回滾(try?catch、嵌套)問(wèn)題
這篇文章主要介紹了Java?@Transactional回滾(try?catch、嵌套)問(wèn)題,Spring?事務(wù)注解?@Transactional?本來(lái)可以保證原子性,如果事務(wù)內(nèi)有報(bào)錯(cuò)的話,整個(gè)事務(wù)可以保證回滾,但是加上try?catch或者事務(wù)嵌套,可能會(huì)導(dǎo)致事務(wù)回滾失敗2022-08-08淺析Java?NIO?直接緩沖區(qū)和非直接緩沖區(qū)
本篇文章主要為大家介紹了Java?NIO?中直接緩沖區(qū)和非直接緩沖區(qū)的定義以及使用流程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11EasyExcel自定義導(dǎo)出列和順序?qū)嵗a
這篇文章主要給大家介紹了關(guān)于EasyExcel自定義導(dǎo)出列和順序的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07SpringBoot使用CXF集成WebService的方法
這篇文章主要介紹了SpringBoot使用CXF集成WebService的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08maven模塊化開發(fā)部署實(shí)現(xiàn)方案
有些用戶有定制化需求,需要添加新的模塊功能,因此需要平臺(tái)主體功能迭代的同時(shí),非主體功能和定制化功能插件化,本文給大家介紹maven模塊化開發(fā)部署實(shí)現(xiàn)方案,感興趣的朋友一起看看吧2024-01-01