三上悠亚在线免费观看,91精品成人,国产精品久久久久永久免费观看,国产精品麻豆一区二区三区

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

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源于微軟的開(kāi)放式數(shù)據(jù)庫(kù)連接(ODBC)。它是Sun Microsystems為Java語(yǔ)言設(shè)計(jì)的處理SQL(結(jié)構(gòu)化查詢語(yǔ)言)的接口。它于1997年作為JDK 1.1的一部分發(fā)布,是為Java語(yǔ)言開(kāi)發(fā)的最早的庫(kù)之一。自發(fā)布以來(lái),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)用程序連接和訪問(wèn)數(shù)據(jù)庫(kù)的主流技術(shù)之一,并被應(yīng)用到各種框架和工具中。

JDBC API由一組用Java編程語(yǔ)言編寫(xiě)的接口和類組成。主要的接口和類有:DriverManager類、連接接口、語(yǔ)句接口等。使用這些標(biāo)準(zhǔn)接口和類,程序員可以編寫(xiě)連接到數(shù)據(jù)庫(kù)的應(yīng)用程序,發(fā)送用SQL編寫(xiě)的查詢并處理結(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ù)的連接和訪問(wèn)。

目錄

發(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ù)的訪問(wèn),微軟公司于1992年推出了開(kāi)放式數(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)移植性帶來(lái)一些缺點(diǎn)。而且ODBC的性能很低,依賴于操作系統(tǒng),不支持對(duì)象和異常。Java是一種流行的、跨平臺(tái)的、面向?qū)ο蟮木幊陶Z(yǔ)言,它需要一種更合適的數(shù)據(jù)庫(kù)訪問(wèn)方法。

為了解決這些問(wèn)題,太陽(yáng)微系統(tǒng)公司于1997年專門為Java語(yǔ)言設(shè)計(jì)了JDBC API。它是基于Java的數(shù)據(jù)庫(kù)訪問(wèn)接口,允許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ǔ)言訪問(wèn)關(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)定性問(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)化了開(kāi)發(fā)過(guò)程,并通過(guò)引入自動(dòng)加載驅(qū)動(dòng)程序和增強(qiáng)的連接功能提高了開(kāi)發(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)潔地管理資源,更方便地訪問(wè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)模塊化開(kāi)發(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ù)訪問(wèn)機(jī)制,使得Java程序可以與任何支持SQL的數(shù)據(jù)庫(kù)進(jìn)行通信。JDBC廣泛應(yīng)用于各種Java應(yīng)用程序和框架中,如Spring、Hibernate、JPA等。它在Web開(kāi)發(fā)、數(shù)據(jù)分析、企業(yè)應(yīng)用、云計(jì)算等領(lǐng)域發(fā)揮著重要作用。

程序模型 編輯本段

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

雙層客戶機(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)程序,它可以與被訪問(wèn)的特定數(shù)據(jù)庫(kù)進(jìn)行交互。JDBC驅(qū)動(dòng)程序?qū)⒂脩舻拿顐鬏數(shù)綌?shù)據(jù)庫(kù)或其他數(shù)據(jù)源,并將這些語(yǔ)句的結(jié)果返回給用戶。數(shù)據(jù)庫(kù)可以位于另一臺(tái)機(jī)器上,用戶通過(guò)網(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ī)器上,通過(guò)網(wǎng)絡(luò)進(jìn)行通信和數(shù)據(jù)交換:

客戶端層:用戶和應(yīng)用程序之間的接口,可以是Web瀏覽器、桌面應(yīng)用程序或移動(dòng)應(yīng)用程序。客戶端層通常包括一些特定于語(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ù)來(lái)實(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ì)包括:

通過(guò)將應(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)訪問(wèn)應(yīng)用服務(wù)器層,而無(wú)需了解數(shù)據(jù)庫(kù)層的詳細(xì)信息,如數(shù)據(jù)庫(kù)的類型、地址、用戶名和密碼,這可以提高客戶端層的安全性和可移植性。

JDBC API

JDBC API定義了程序員用來(lái)連接數(shù)據(jù)庫(kù)和發(fā)送查詢的Java接口和類。JDBC驅(qū)動(dòng)程序?yàn)樘囟ǖ腄BMS供應(yīng)商實(shí)現(xiàn)了這些接口和類。可以說(shuō)JDBC驅(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編寫(xiě)的。

基于服務(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ò)開(kāi)銷和維護(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編寫(xiě)的。

需要安裝特定于數(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編寫(xiě)。

鏈接步驟 編輯本段

使用JDBC將Java應(yīng)用程序與數(shù)據(jù)庫(kù)連接起來(lái)需要五個(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ù)的物理連接。這可以通過(guò)兩種方式實(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ì)象來(lái)執(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ì)象的方法來(lái)訪問(wèn)從數(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í)際開(kāi)發(fā)情況連接數(shù)據(jù)庫(kù)。例如,如果在注冊(cè)驅(qū)動(dòng)程序之前沒(méi)有導(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ǔ)過(guò)程或函數(shù)而不是結(jié)果集中返回值。通常CallableStatement對(duì)象的registerOutParameter()方法輸出參數(shù)的類型和位置,execute()方法執(zhí)行存儲(chǔ)過(guò)程或函數(shù),getXXX()方法用于獲取輸出參數(shù)的值,其中XXX表示輸出參數(shù)的數(shù)據(jù)類型,如getInt()、getString()等。

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

附件列表


0

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

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

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

同義詞

暫無(wú)同義詞
三上悠亚在线免费观看,91精品成人,国产精品久久久久永久免费观看,国产精品麻豆一区二区三区
欧美日韩在线不卡| 精彩视频一区二区三区 | 日本高清无吗v一区| 在线不卡的av| 国产欧美日韩卡一| 亚洲成人7777| 国产夫妻精品视频| 欧美日韩国产片| 国产日本欧洲亚洲| 日韩中文字幕区一区有砖一区 | 久久久久久99久久久精品网站| 亚洲免费色视频| 精品一区二区三区蜜桃| 91国模大尺度私拍在线视频| 日韩欧美123| 亚洲精品成人天堂一二三| 久久99久久99小草精品免视看| 成人美女视频在线看| 欧美日韩一本到| 国产精品视频线看| 麻豆极品一区二区三区| 色噜噜夜夜夜综合网| 国产偷国产偷亚洲高清人白洁 | 欧美剧情电影在线观看完整版免费励志电影| 精品裸体舞一区二区三区| 亚洲一区国产视频| fc2成人免费人成在线观看播放| 欧美一区二区三区喷汁尤物| 亚洲人成精品久久久久| 国产高清亚洲一区| 日韩欧美在线一区二区三区| 亚洲精品视频观看| av在线不卡观看免费观看| 久久久噜噜噜久久中文字幕色伊伊| 亚洲午夜免费电影| 粉嫩一区二区三区在线看| 99久久99久久精品免费看蜜桃| 69堂成人精品免费视频| 日韩欧美国产一区二区在线播放| 自拍偷自拍亚洲精品播放| 久久国产人妖系列| 色8久久精品久久久久久蜜| 2023国产精华国产精品| 亚洲国产一区二区三区| 久久99精品视频| av高清久久久| 91精品婷婷国产综合久久竹菊| 国产欧美日韩亚州综合| 日韩精品欧美精品| 91色porny在线视频| www精品美女久久久tv| 亚洲一区二区三区美女| 成人app软件下载大全免费| 日韩欧美在线影院| 香蕉乱码成人久久天堂爱免费| av亚洲产国偷v产偷v自拍| 欧美精品一区二区不卡| 午夜视频在线观看一区二区三区| 91美女蜜桃在线| 欧美激情艳妇裸体舞| 久久66热re国产| 91一区二区三区在线播放| 26uuu成人网一区二区三区| 狠狠色丁香婷婷综合久久片| 91麻豆精品国产| 亚洲成人av在线电影| 99久久99久久精品国产片果冻| 26uuu精品一区二区在线观看| 热久久免费视频| 欧美在线观看禁18| 亚洲色图视频网| 成人白浆超碰人人人人| 久久奇米777| 久久国产乱子精品免费女| 9191成人精品久久| 午夜国产精品一区| 一道本成人在线| 亚洲一区中文在线| 91成人在线精品| 亚洲一区二区三区中文字幕 | 色哟哟国产精品免费观看| 国产精品视频在线看| 成人免费电影视频| 国产精品电影一区二区| 成人毛片老司机大片| 国产精品久久网站| av中文字幕一区| 国产欧美久久久精品影院| 国产成人在线电影| 欧美国产亚洲另类动漫| 国产一区二区不卡老阿姨| 国产亚洲自拍一区| 成人av电影在线观看| 国产精品亲子乱子伦xxxx裸| 日本高清成人免费播放| 亚洲一区av在线| 欧美日韩一卡二卡| 蜜臀久久99精品久久久画质超高清| 欧美一级精品在线| 国产永久精品大片wwwapp| 久久久另类综合| 国产精品一区一区三区| 亚洲婷婷综合久久一本伊一区| 91在线精品一区二区| 一级特黄大欧美久久久| 欧美日本一区二区三区| 麻豆91在线播放| 久久无码av三级| 不卡影院免费观看| 亚洲精品菠萝久久久久久久| 欧美日韩1234| 精品中文字幕一区二区| 国产情人综合久久777777| 92国产精品观看| 视频一区视频二区在线观看| 欧美mv和日韩mv的网站| 国产91清纯白嫩初高中在线观看| 亚洲精品日日夜夜| 日韩视频免费直播| 国产高清不卡二三区| 一区二区三区中文字幕在线观看| 欧美久久久久久蜜桃| 久久国产精品第一页| 久久综合久色欧美综合狠狠| 国产精品资源在线| 夜色激情一区二区| 精品美女一区二区三区| 99免费精品视频| 亚洲一二三区视频在线观看| 日韩美女视频一区二区在线观看| 成年人网站91| 亚洲超碰精品一区二区| 精品动漫一区二区三区在线观看| 成人av资源在线观看| 爽好久久久欧美精品| 欧美va在线播放| 91丨porny丨首页| 另类综合日韩欧美亚洲| 综合激情成人伊人| 日韩欧美国产综合在线一区二区三区| 国产盗摄一区二区| 天天综合天天做天天综合| 国产网红主播福利一区二区| 欧美日韩精品一区二区三区四区| 国产老女人精品毛片久久| 亚洲人成网站精品片在线观看| 欧美成人一级视频| 色婷婷国产精品综合在线观看| 久久99精品一区二区三区| 亚洲乱码中文字幕综合| www久久精品| 91.成人天堂一区| 91丝袜美腿高跟国产极品老师| 狠狠色丁香久久婷婷综合_中| 亚洲一区二区三区在线播放| 国产精品美女www爽爽爽| 欧美一区二区三区播放老司机| av电影天堂一区二区在线| 精品一区二区日韩| 136国产福利精品导航| 国产亚洲欧美日韩在线一区| 3751色影院一区二区三区| 一本色道a无线码一区v| 精品一区二区在线播放| 亚洲一区视频在线| 久久久精品免费观看| 欧美一级高清片| 欧美性极品少妇| 一本久道久久综合中文字幕| 激情综合网天天干| 亚洲成人av资源| 亚洲欧洲成人自拍| 日韩一区二区影院| 欧美亚洲国产一区在线观看网站| 国产精品亚洲一区二区三区在线 | 国内精品在线播放| 日韩国产一二三区| 亚洲成人免费观看| 亚洲裸体xxx| 久久久久久毛片| 2021中文字幕一区亚洲| 日韩精品一区二区三区三区免费| 欧美二区乱c少妇| 欧美系列日韩一区| 色婷婷狠狠综合| 91麻豆.com| 一本一道久久a久久精品综合蜜臀| 91蝌蚪porny成人天涯| 91在线观看污| 97精品久久久午夜一区二区三区| 成人综合婷婷国产精品久久免费| 国产伦精一区二区三区| 久久66热re国产| 国产在线看一区| 首页国产欧美日韩丝袜| 紧缚奴在线一区二区三区| 久久精品99久久久| 激情丁香综合五月| 国产一区二区三区四区在线观看| 久久精品国产一区二区三|