深夜福利网-深夜福利网站大全,国产一区二区三区久久精品,99re6热在线精品视频播放,日韩中文字幕视频免费,影院一区二区小说性鲍视频

知名百科  > 所屬分類  >  其他科技   

Java數(shù)據(jù)庫(kù)連接

Java數(shù)據(jù)庫(kù)連接(JDBC)是一個(gè)Java應(yīng)用程序編程接口(Java API),用于管理與數(shù)據(jù)庫(kù)的連接并執(zhí)行查詢。JDBC面向關(guān)系數(shù)據(jù)庫(kù),并為Java應(yīng)用程序提供數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn)。

JDBC API源于微軟的開放式數(shù)據(jù)庫(kù)連接(ODBC)。它是Sun Microsystems為Java語(yǔ)言設(shè)計(jì)的處理SQL(結(jié)構(gòu)化查詢語(yǔ)言)的接口。它于1997年作為JDK 1.1的一部分發(fā)布,是為Java語(yǔ)言開發(fā)的最早的庫(kù)之一。自發(fā)布以來,JDBC經(jīng)歷了幾個(gè)版本的更新和改進(jìn),以支持Java平臺(tái)和數(shù)據(jù)庫(kù)技術(shù)的發(fā)展。JDBC 4.3是2017年9月作為Java SE 9的一部分發(fā)布的最新版本。目前,JDBC API已經(jīng)成為Java應(yīng)用程序連接和訪問數(shù)據(jù)庫(kù)的主流技術(shù)之一,并被應(yīng)用到各種框架和工具中。

JDBC API由一組用Java編程語(yǔ)言編寫的接口和類組成。主要的接口和類有:DriverManager類、連接接口、語(yǔ)句接口等。使用這些標(biāo)準(zhǔn)接口和類,程序員可以編寫連接到數(shù)據(jù)庫(kù)的應(yīng)用程序,發(fā)送用SQL編寫的查詢并處理結(jié)果。JDBC驅(qū)動(dòng)程序?yàn)樘囟ǖ腄BMS供應(yīng)商實(shí)現(xiàn)這些接口和類,可以將其視為Java應(yīng)用程序和所需數(shù)據(jù)庫(kù)之間的橋梁。使用JDBC API的Java應(yīng)用程序?qū)⒃趯?shí)際連接到數(shù)據(jù)庫(kù)之前加載特定DBMS的指定驅(qū)動(dòng)程序。然后,JDBC驅(qū)動(dòng)管理器類將把所有JDBC API調(diào)用發(fā)送給加載的驅(qū)動(dòng)程序,以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的連接和訪問。

目錄

發(fā)展歷史 編輯本段

起源

20世紀(jì)80年代,SQL成為關(guān)系數(shù)據(jù)庫(kù)管理中廣泛使用的語(yǔ)言。20世紀(jì)90年代,數(shù)據(jù)庫(kù)技術(shù)迅速發(fā)展,出現(xiàn)了許多類型和供應(yīng)商的數(shù)據(jù)庫(kù)管理系統(tǒng),如Oracle、Sybase、Informix、DB2等。這些數(shù)據(jù)庫(kù)管理系統(tǒng)都有自己特定的接口和協(xié)議,這導(dǎo)致了數(shù)據(jù)庫(kù)編程的碎片化和不兼容性。為了統(tǒng)一對(duì)SQL數(shù)據(jù)庫(kù)的訪問,微軟公司于1992年推出了開放式數(shù)據(jù)庫(kù)連接(ODBC),這是一種用于連接和操作數(shù)據(jù)庫(kù)的通用API。ODBC API是一個(gè)獨(dú)立于編程語(yǔ)言和數(shù)據(jù)庫(kù)系統(tǒng)的ODBC函數(shù)庫(kù)。它允許支持ODBC的應(yīng)用程序使用ODBC驅(qū)動(dòng)程序連接到任何數(shù)據(jù)庫(kù),執(zhí)行SQL語(yǔ)句并獲得結(jié)果。

但是,ODBC API并不直接適用于Java編程語(yǔ)言,因?yàn)樗褂昧薈語(yǔ)言的接口。從Java調(diào)用本地C代碼會(huì)給應(yīng)用程序的安全性、實(shí)現(xiàn)、健壯性和自動(dòng)移植性帶來一些缺點(diǎn)。而且ODBC的性能很低,依賴于操作系統(tǒng),不支持對(duì)象和異常。Java是一種流行的、跨平臺(tái)的、面向?qū)ο蟮木幊陶Z(yǔ)言,它需要一種更合適的數(shù)據(jù)庫(kù)訪問方法。

為了解決這些問題,太陽(yáng)微系統(tǒng)公司于1997年專門為Java語(yǔ)言設(shè)計(jì)了JDBC API。它是基于Java的數(shù)據(jù)庫(kù)訪問接口,允許Java應(yīng)用程序連接到任何支持SQL的數(shù)據(jù)庫(kù)。JDBC API借鑒了ODBC的一些設(shè)計(jì)思想,也是基于Open Group SQL CLI(調(diào)用級(jí)接口)的。但是,JDBC API更適合Java的特點(diǎn)和優(yōu)勢(shì)。它使用Java對(duì)象和異常機(jī)制,并且不依賴于操作系統(tǒng)或數(shù)據(jù)庫(kù)供應(yīng)商的API,從而提高了安全性、健壯性和可移植性。Jdbapi因此成為Java語(yǔ)言訪問關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)方式。

發(fā)展

Sun Microsystems于1997年發(fā)布的JDBC 1.0僅支持基本的SQL語(yǔ)句,但不提供高級(jí)功能,如事務(wù)控制和結(jié)果集處理。1999年,為了解決效率和穩(wěn)定性問題,JDBC 2.0發(fā)布,增加了高級(jí)功能,如批量更新、事務(wù)控制、數(shù)據(jù)源、行集等。JDBC API分為JDBC 2.0核心API(Java . SQL)和JDBC 2.0的JDBC 2.0標(biāo)準(zhǔn)擴(kuò)展API(javax . SQL)。

2003年,JDBC 3.0發(fā)布,引入了保存點(diǎn)、返回自動(dòng)生成的密鑰、參數(shù)元數(shù)據(jù)等特性。,以滿足更復(fù)雜和更大規(guī)模的數(shù)據(jù)處理需求。這些特性使Java程序能夠更好地處理分布式和并發(fā)環(huán)境,并提高容錯(cuò)和恢復(fù)能力。

2006年,JDBC 4.0發(fā)布,它支持Java SE 6的新特性,如注釋、泛型、自動(dòng)加載驅(qū)動(dòng)程序等。JDBC 4.0進(jìn)一步簡(jiǎn)化了開發(fā)過程,并通過引入自動(dòng)加載驅(qū)動(dòng)程序和增強(qiáng)的連接功能提高了開發(fā)人員的工作效率和應(yīng)用程序的可靠性。這些特性使Java程序更容易與新的數(shù)據(jù)庫(kù)技術(shù)和標(biāo)準(zhǔn)集成,例如SQL XML、Blob和Clob的流處理。

2011年,JDBC 4.1發(fā)布,主要是為了支持Java SE 7的新功能,如try-with-resources語(yǔ)句、刪除JDBC-ODBC橋、RowId的生命周期提示等。,這樣Java程序可以更簡(jiǎn)潔地管理資源,更方便地訪問本地?cái)?shù)據(jù)庫(kù),更準(zhǔn)確地處理RowId類型。

2014年發(fā)布了JDBC 4.2,它為Java SE 8的新功能提供了支持,例如日期和時(shí)間類型、大型對(duì)象的流處理、引用游標(biāo)類型等。這些特性使Java程序能夠更好地處理新的數(shù)據(jù)類型和格式。

2017年發(fā)布了JDBC 4.3,它支持Java SE 9的新功能,如模塊化系統(tǒng)、分片API和更多SQL類型。這些特性使Java程序能夠更好地適應(yīng)模塊化開發(fā)模式,更好地支持分布式和水平擴(kuò)展的數(shù)據(jù)庫(kù),并更好地兼容不同的數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)。

狀態(tài)

目前,JDBC在Java平臺(tái)和數(shù)據(jù)庫(kù)技術(shù)的發(fā)展中發(fā)揮著重要作用,它為Java程序提供了簡(jiǎn)單、統(tǒng)一和跨平臺(tái)的數(shù)據(jù)庫(kù)訪問機(jī)制,使得Java程序可以與任何支持SQL的數(shù)據(jù)庫(kù)進(jìn)行通信。JDBC廣泛應(yīng)用于各種Java應(yīng)用程序和框架中,如Spring、Hibernate、JPA等。它在Web開發(fā)、數(shù)據(jù)分析、企業(yè)應(yīng)用、云計(jì)算等領(lǐng)域發(fā)揮著重要作用。

程序模型 編輯本段

JDBC API支持兩層和三層客戶-服務(wù)器模式的數(shù)據(jù)庫(kù)訪問。

雙層客戶機(jī)-服務(wù)器模型

所謂兩層模型是指Java應(yīng)用程序和目標(biāo)數(shù)據(jù)庫(kù)分別安裝在兩層組件上。這兩個(gè)組成部分是:

應(yīng)用層:安裝在客戶端機(jī)器上,包括:

JDBC驅(qū)動(dòng)程序:用于連接數(shù)據(jù)庫(kù)和執(zhí)行SQL語(yǔ)句;

用戶界面:用于與用戶交互和顯示數(shù)據(jù);

Java應(yīng)用:用于實(shí)現(xiàn)業(yè)務(wù)邏輯和數(shù)據(jù)處理。

數(shù)據(jù)庫(kù)層:安裝在數(shù)據(jù)庫(kù)服務(wù)器上,包括:

RDBMS:用于管理和存儲(chǔ)數(shù)據(jù);

數(shù)據(jù)庫(kù):用于存儲(chǔ)特定的數(shù)據(jù)表和記錄。

在兩層客戶機(jī)-服務(wù)器模型中,Java應(yīng)用程序直接與數(shù)據(jù)庫(kù)通信,這需要一個(gè)JDBC驅(qū)動(dòng)程序,它可以與被訪問的特定數(shù)據(jù)庫(kù)進(jìn)行交互。JDBC驅(qū)動(dòng)程序?qū)⒂脩舻拿顐鬏數(shù)綌?shù)據(jù)庫(kù)或其他數(shù)據(jù)源,并將這些語(yǔ)句的結(jié)果返回給用戶。數(shù)據(jù)庫(kù)可以位于另一臺(tái)機(jī)器上,用戶通過網(wǎng)絡(luò)連接到它。這稱為客戶端-服務(wù)器配置。用戶的機(jī)器是客戶端,數(shù)據(jù)庫(kù)所在的機(jī)器是服務(wù)器。用戶連接到數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)可以是內(nèi)部網(wǎng),如公司的內(nèi)部網(wǎng)或互聯(lián)網(wǎng)

三層客戶機(jī)-服務(wù)器模型

三層客戶機(jī)-服務(wù)器模型是Java數(shù)據(jù)庫(kù)應(yīng)用程序的常用體系結(jié)構(gòu),它分為三個(gè)組件級(jí)別,即客戶機(jī)層、應(yīng)用服務(wù)器層和數(shù)據(jù)庫(kù)層。這三個(gè)級(jí)別的組件可以分別安裝在不同的機(jī)器上,通過網(wǎng)絡(luò)進(jìn)行通信和數(shù)據(jù)交換:

客戶端層:用戶和應(yīng)用程序之間的接口,可以是Web瀏覽器、桌面應(yīng)用程序或移動(dòng)應(yīng)用程序??蛻舳藢油ǔ0ㄒ恍┨囟ㄓ谡Z(yǔ)言的虛擬機(jī),如Java虛擬機(jī)或。NET虛擬機(jī),用于運(yùn)行應(yīng)用程序代碼??蛻舳藢酉驊?yīng)用服務(wù)器層發(fā)送數(shù)據(jù)操作請(qǐng)求,如查詢、插入、更新或刪除數(shù)據(jù),然后接收應(yīng)用服務(wù)器層返回的數(shù)據(jù)或結(jié)果并顯示給用戶。

應(yīng)用服務(wù)器層:負(fù)責(zé)處理業(yè)務(wù)邏輯或應(yīng)用邏輯,如驗(yàn)證用戶身份、計(jì)算數(shù)據(jù)、生成報(bào)表等。應(yīng)用服務(wù)器層可以使用Java Web應(yīng)用程序或Java Web服務(wù)來實(shí)現(xiàn),它們可以運(yùn)行在Web服務(wù)器上,例如Tomcat或Jetty。應(yīng)用服務(wù)器層包含用于連接數(shù)據(jù)庫(kù)和執(zhí)行SQL語(yǔ)句的JDBC API。應(yīng)用服務(wù)器層接收客戶端層的數(shù)據(jù)操作請(qǐng)求,然后根據(jù)請(qǐng)求的內(nèi)容向數(shù)據(jù)庫(kù)層發(fā)送相應(yīng)的SQL語(yǔ)句,并將數(shù)據(jù)庫(kù)層返回的數(shù)據(jù)或結(jié)果轉(zhuǎn)換為客戶端層可以識(shí)別的格式,例如XML或JSON,并將其發(fā)送回客戶端層。

數(shù)據(jù)庫(kù)層:負(fù)責(zé)數(shù)據(jù)存儲(chǔ),包括關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)和數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)層可以安裝在數(shù)據(jù)庫(kù)服務(wù)器上,如MySQL、Oracle或SQL Server。數(shù)據(jù)庫(kù)層接收應(yīng)用服務(wù)器層的SQL語(yǔ)句,然后根據(jù)SQL語(yǔ)句的內(nèi)容對(duì)數(shù)據(jù)庫(kù)執(zhí)行相應(yīng)的操作,例如查詢、插入、更新或刪除數(shù)據(jù),并將操作的結(jié)果或數(shù)據(jù)返回給應(yīng)用服務(wù)器層。

與兩層模型相比,使用三層模型的優(yōu)勢(shì)包括:

通過將應(yīng)用服務(wù)器層與數(shù)據(jù)庫(kù)層分離,應(yīng)用服務(wù)器層可以并發(fā)處理多個(gè)客戶端層的請(qǐng)求,而數(shù)據(jù)庫(kù)層可以專注于數(shù)據(jù)管理和存儲(chǔ),這可以大大提高應(yīng)用程序的性能。

業(yè)務(wù)邏輯與數(shù)據(jù)庫(kù)明確分離,應(yīng)用服務(wù)器層可以根據(jù)需求進(jìn)行修改或更新,而不會(huì)影響數(shù)據(jù)庫(kù)層的結(jié)構(gòu)和數(shù)據(jù),使應(yīng)用程序更易于維護(hù)和擴(kuò)展;客戶端層可以使用簡(jiǎn)單的協(xié)議(如HTTP或SOAP)訪問應(yīng)用服務(wù)器層,而無需了解數(shù)據(jù)庫(kù)層的詳細(xì)信息,如數(shù)據(jù)庫(kù)的類型、地址、用戶名和密碼,這可以提高客戶端層的安全性和可移植性。

JDBC API

JDBC API定義了程序員用來連接數(shù)據(jù)庫(kù)和發(fā)送查詢的Java接口和類。JDBC驅(qū)動(dòng)程序?yàn)樘囟ǖ腄BMS供應(yīng)商實(shí)現(xiàn)了這些接口和類??梢哉fJDBC驅(qū)動(dòng)程序在Java應(yīng)用程序和所需的數(shù)據(jù)庫(kù)之間架起了一座橋梁。使用JDBC API的Java應(yīng)用程序?qū)⒃趯?shí)際連接到數(shù)據(jù)庫(kù)之前加載特定DBMS的指定驅(qū)動(dòng)程序。然后,JDBC驅(qū)動(dòng)管理器類將所有JDBC API調(diào)用發(fā)送給加載的驅(qū)動(dòng)程序。

根據(jù)不同的配置,JDBC驅(qū)動(dòng)程序可分為以下四種類型。

JDBC-ODBC橋驅(qū)動(dòng)程序

JDBC-ODBC橋驅(qū)動(dòng)程序使用Java的本地方法調(diào)用ODBC驅(qū)動(dòng)程序,并將JDBC方法調(diào)用轉(zhuǎn)換為ODBC函數(shù)調(diào)用,從而實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接。

優(yōu)勢(shì)特點(diǎn) 編輯本段

優(yōu)勢(shì)

使用方便;您可以輕松連接到任何數(shù)據(jù)庫(kù)。

缺點(diǎn):由于JDBC方法調(diào)用被轉(zhuǎn)換為ODBC函數(shù)調(diào)用,性能下降;ODBC驅(qū)動(dòng)程序需要安裝在客戶端計(jì)算機(jī)上。

注意:在JDBC 4.2中,JDBC-ODBC橋已被刪除。

網(wǎng)絡(luò)協(xié)議全Java驅(qū)動(dòng)程序

網(wǎng)絡(luò)協(xié)議的完整Java驅(qū)動(dòng)程序使用中間件(應(yīng)用服務(wù)器)直接或間接將JDBC調(diào)用轉(zhuǎn)換為特定供應(yīng)商的數(shù)據(jù)庫(kù)協(xié)議。驅(qū)動(dòng)程序完全是用Java編寫的。

基于服務(wù)器,客戶端計(jì)算機(jī)上不需要JDBC驅(qū)動(dòng)程序代碼;跨平臺(tái),完全Java實(shí)現(xiàn),適合網(wǎng)絡(luò)應(yīng)用。

劣勢(shì)

需要在服務(wù)器端安裝數(shù)據(jù)庫(kù)中間層,增加了網(wǎng)絡(luò)開銷和維護(hù)成本。

本地API部分Java驅(qū)動(dòng)程序

本地API的Java驅(qū)動(dòng)程序使用數(shù)據(jù)庫(kù)供應(yīng)商提供的客戶端庫(kù)將JDBC方法調(diào)用轉(zhuǎn)換為數(shù)據(jù)庫(kù)API的本地調(diào)用,該調(diào)用并不完全是用Java編寫的。

需要安裝特定于數(shù)據(jù)庫(kù)的API在客戶端;不跨平臺(tái),不完全Java實(shí)現(xiàn)。本地協(xié)議全Java驅(qū)動(dòng)程序本地協(xié)議全Java驅(qū)動(dòng)程序直接將JDBC調(diào)用轉(zhuǎn)換為供應(yīng)商特定的數(shù)據(jù)庫(kù)協(xié)議,并且該驅(qū)動(dòng)程序完全用Java編寫。

鏈接步驟 編輯本段

使用JDBC將Java應(yīng)用程序與數(shù)據(jù)庫(kù)連接起來需要五個(gè)步驟。這些步驟如下:

注冊(cè)驅(qū)動(dòng)程序

在連接數(shù)據(jù)庫(kù)之前,需要為每個(gè)數(shù)據(jù)庫(kù)加載或注冊(cè)一次驅(qū)動(dòng)程序,以創(chuàng)建與數(shù)據(jù)庫(kù)的通信通道。加載驅(qū)動(dòng)程序有兩種方式:

靜態(tài)注冊(cè):使用class . forname(driverName)的方法,其中driverName是驅(qū)動(dòng)程序的全限定類名,如com . MySQL . CJ . JDBC . driver;;動(dòng)態(tài)注冊(cè):使用drivermanager。register driver(driver)方法,其中driver是驅(qū)動(dòng)程序的實(shí)例,例如new com.mysql.jdbc.Driver()。

連接建立

getConnection()方法用于創(chuàng)建一個(gè)連接對(duì)象,該對(duì)象對(duì)應(yīng)于與數(shù)據(jù)庫(kù)的物理連接。這可以通過兩種方式實(shí)現(xiàn):

getconnection(URL,用戶名,密碼):使用三個(gè)參數(shù),URL,用戶名和密碼,例如connection conn = driver manager . getconnection(URL,用戶,密碼);

GetConnection(URL):只有一個(gè)參數(shù)URL,它包含用戶名和密碼。不同的關(guān)系數(shù)據(jù)庫(kù)有不同的JDBC連接字符串,例如Oracle數(shù)據(jù)庫(kù):JDBC: Oracle:瘦:@主機(jī)名:端口:服務(wù)名。

執(zhí)行查詢

建立連接后,可以使用Connection類的createStatement方法創(chuàng)建一個(gè)Statement對(duì)象來執(zhí)行SQL查詢,Statement對(duì)象表示SQL語(yǔ)句的接口。例如:statement stmt = conn . create statement()。

創(chuàng)建Statement對(duì)象后,使用Statement對(duì)象的query方法傳入SQL查詢語(yǔ)句。語(yǔ)句對(duì)象有三種查詢方法:execute()、executeQuery()和executeUpdate(),其中executeQuery()方法用于執(zhí)行查詢語(yǔ)句并返回一個(gè)ResultSet對(duì)象,表示結(jié)果集,例如ResultSet RS = stmt。執(zhí)行查詢。

Java數(shù)據(jù)庫(kù)連接Java數(shù)據(jù)庫(kù)連接

處理結(jié)果集

當(dāng)使用executeQuery()方法執(zhí)行查詢時(shí),它返回一個(gè)代表結(jié)果集的ResultSet對(duì)象。然后可以使用ResultSet對(duì)象的方法來訪問從數(shù)據(jù)庫(kù)中檢索的數(shù)據(jù)。如果使用ResultSet對(duì)象的next方法,則遍歷結(jié)果集:while(RS . next()){ }。

關(guān)閉連接

當(dāng)連接、語(yǔ)句或ResultSet對(duì)象完成時(shí),調(diào)用其close方法以立即釋放它正在使用的資源。比如依次關(guān)閉結(jié)果集、語(yǔ)句對(duì)象和數(shù)據(jù)庫(kù)連接對(duì)象:RS . close();stmt . close();conn.close()。

這五個(gè)步驟只是Java應(yīng)用程序連接數(shù)據(jù)庫(kù)的一般步驟。如果需要,可以根據(jù)實(shí)際開發(fā)情況連接數(shù)據(jù)庫(kù)。例如,如果在注冊(cè)驅(qū)動(dòng)程序之前沒有導(dǎo)入包,可以使用import java.sql*導(dǎo)入java.sql .再舉一個(gè)例子,使用try-with-resources語(yǔ)句自動(dòng)關(guān)閉Connection、ResultSet和Statement類型的資源可以避免顯式連接關(guān)閉步驟并簡(jiǎn)化代碼。

執(zhí)行結(jié)果

使用JDBC API執(zhí)行SQL語(yǔ)句可能會(huì)返回結(jié)果集、更新計(jì)數(shù)或輸出參數(shù)。

SQL查詢結(jié)果集

SQL查詢結(jié)果集對(duì)應(yīng)于接口java.sql.result set的實(shí)例對(duì)象。ResultSet對(duì)象通常由Statement、PreparedStatement或CallableStatement對(duì)象的executeQuery()或execute()方法返回。ResultSet對(duì)象不僅記錄查詢集結(jié)果中的每一行數(shù)據(jù),還記錄每一列的類型信息。ResultSet對(duì)象的主要方法如下:

移動(dòng)光標(biāo)的方法用于移動(dòng)ResultSet對(duì)象的光標(biāo)并指向不同的行,例如next()、previous()、first()、last()方法等等。

獲取列值的方法用于獲取當(dāng)前行某一列的值,這些值將被轉(zhuǎn)換為指定的Java類型,如getString()、getInt()、getBoolean()、getDouble()等。

更新列值的方法用于更新當(dāng)前行中某一列的值,并將這些值設(shè)置為指定的Java類型,如updateString()、updateInt()、updateBoolean()、updateDouble()等。

獲取元數(shù)據(jù)的方法用于獲取結(jié)果集的元數(shù)據(jù),如列的數(shù)量、名稱、類型和長(zhǎng)度,如getMetaData()、getRow()、getType()等。

關(guān)閉結(jié)果集的方法,close()方法用于關(guān)閉結(jié)果集并釋放資源。

更新計(jì)數(shù)

當(dāng)使用語(yǔ)句或PreparedStatement對(duì)象的executeUpdate()方法執(zhí)行update語(yǔ)句時(shí),返回的結(jié)果是一個(gè)int值,指示更新的行數(shù),即更新計(jì)數(shù)。更新計(jì)數(shù)可用于判斷SQL語(yǔ)句是否成功執(zhí)行。

輸出參數(shù)

輸出參數(shù)是一個(gè)特殊參數(shù),可用于從存儲(chǔ)過程或函數(shù)而不是結(jié)果集中返回值。通常CallableStatement對(duì)象的registerOutParameter()方法輸出參數(shù)的類型和位置,execute()方法執(zhí)行存儲(chǔ)過程或函數(shù),getXXX()方法用于獲取輸出參數(shù)的值,其中XXX表示輸出參數(shù)的數(shù)據(jù)類型,如getInt()、getString()等。

輸出參數(shù)的值可以用于邏輯判斷、統(tǒng)計(jì)或顯示,或者作為其他SQL語(yǔ)句的輸入?yún)?shù)。一般來說,如果輸出參數(shù)有值,則意味著執(zhí)行成功;如果輸出參數(shù)沒有值,則意味著執(zhí)行失敗或沒有返回值。

附件列表


0

詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。

如果您認(rèn)為本詞條還有待完善,請(qǐng) 編輯

上一篇 中間件    下一篇 實(shí)時(shí)操作系統(tǒng)

同義詞

暫無同義詞