更新時(shí)間:2023-01-04 17:00:23 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1245次
1. 數(shù)據(jù)連接池的工作機(jī)制是什么? 有什么優(yōu)點(diǎn)?
J2EE 服務(wù)器啟動(dòng)時(shí)會(huì)建立一定數(shù)量的池連接,并一直維持不少于此數(shù)目的池連接。
客戶端程序需要連接時(shí),池驅(qū)動(dòng)程序會(huì)返回一個(gè)未使用的池連接并將其表記為忙。
如果當(dāng)前沒(méi)有空閑連接,池驅(qū)動(dòng)程序就新建一定數(shù)量的連接,新建連接的數(shù)量有配置參數(shù)決定。
當(dāng)使用的池連接調(diào)用完成后,池驅(qū)動(dòng)程序?qū)⒋诉B接表記為空閑,其他調(diào)用就可以使用這個(gè)連接。
當(dāng)鏈接數(shù)量達(dá)到連接池最大值時(shí)候,池驅(qū)動(dòng)程序?qū)⒉辉賱?chuàng)建新連接,只能等等連接空閑以后重用已有的連接。
`在這里插入代碼片`優(yōu)點(diǎn):連接少的時(shí)候可以復(fù)用
2. 寫出JDBC連接數(shù)據(jù)庫(kù)的6個(gè)步驟?
注冊(cè)驅(qū)動(dòng)
獲取連接
創(chuàng)建一個(gè)Statement語(yǔ)句對(duì)象
執(zhí)行SQL語(yǔ)句
處理結(jié)果集
關(guān)閉資源
3. JDBC中的Statement 和PreparedStatement的區(qū)別?
PreparedStatement 繼承于 Statement
Statement 一般用于執(zhí)行固定的沒(méi)有參數(shù)的SQL
PreparedStatement 一般用于執(zhí)行有?參數(shù)預(yù)編譯的SQL語(yǔ)句。
PreparedStatement支持?操作參數(shù),相對(duì)于Statement更加靈活。
PreparedStatement可以防止SQL注入,安全性高于Statement。
4. JDBC中大數(shù)據(jù)量的分頁(yè)解決方法?
利用sql語(yǔ)句進(jìn)行分頁(yè),這樣每次查詢出的結(jié)果集中就只包含某頁(yè)的數(shù)據(jù)內(nèi)容
5. 說(shuō)說(shuō)數(shù)據(jù)庫(kù)連接池工作原理和實(shí)現(xiàn)方案?
工作原理:JAVA EE服務(wù)器啟動(dòng)時(shí)會(huì)建立一定數(shù)量的池連接,并一直維持不少于此數(shù)目的池連接??蛻舳顺绦蛐枰B接時(shí),池驅(qū)動(dòng)程序會(huì)返回一個(gè)未使用的池連接并將其表記為忙。如果當(dāng)前沒(méi)有空閑連接,池驅(qū)動(dòng)程序就新建一定數(shù)量的連接,新建連接的數(shù)量有配置參數(shù)決定。當(dāng)使用的池連接調(diào)用完成后,池驅(qū)動(dòng)程序?qū)⒋诉B接表記為空閑,其他調(diào)用就可以使用這個(gè)連接。
實(shí)現(xiàn)方案:返回的Connection是原始Connection的代理,代理Connection的close方法,當(dāng)調(diào)用close方法時(shí),不是真正關(guān)連接,而是把它代理的Connection對(duì)象放回到連接池中,等待下一次重復(fù)利用。
以上就是“一些經(jīng)常被問(wèn)到的jdbc面試題”,你能回答上來(lái)嗎?如果想要了解更多的Java面試題相關(guān)內(nèi)容,可以關(guān)注動(dòng)力節(jié)點(diǎn)Java官網(wǎng)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)