久久久久无码精品,四川省少妇一级毛片,老老熟妇xxxxhd,人妻无码少妇一区二区

JAVA JDBC常見(jiàn)面試題及答案

時(shí)間:2020-11-12 09:27:38 面試問(wèn)題 我要投稿

JAVA JDBC常見(jiàn)面試題及答案

  什么是JDBC,在什么時(shí)候會(huì)用到它?

  JDBC的全稱是Java DataBase Connection,也就是Java數(shù)據(jù)庫(kù)連接,我們可以用它來(lái)操作關(guān)系型數(shù)據(jù)庫(kù)。JDBC接口及相關(guān)類(lèi)在java.sql包和javax.sql包里。我們可以用它來(lái)連接數(shù)據(jù)庫(kù),執(zhí)行SQL查詢,存儲(chǔ)過(guò)程,并處理返回的結(jié)果。

  JDBC接口讓Java程序和JDBC驅(qū)動(dòng)實(shí)現(xiàn)了松耦合,使得切換不同的數(shù)據(jù)庫(kù)變得更加簡(jiǎn)單。

  有哪些不同類(lèi)型的JDBC驅(qū)動(dòng)?

  有四類(lèi)JDBC驅(qū)動(dòng)。和數(shù)據(jù)庫(kù)進(jìn)行交互的Java程序分成兩個(gè)部分,一部分是JDBC的API,實(shí)際工作的驅(qū)動(dòng)則是另一部分。

JDBC-Drivers

  A JDBC-ODBC Bridge plus ODBC Driver(類(lèi)型1):它使用ODBC驅(qū)動(dòng)連接數(shù)據(jù)庫(kù)。需要安裝ODBC以便連接數(shù)據(jù)庫(kù),正因?yàn)檫@樣,這種方式現(xiàn)在已經(jīng)基本淘汰了。

  B Native API partly Java technology-enabled driver(類(lèi)型2):這種驅(qū)動(dòng)把JDBC調(diào)用適配成數(shù)據(jù)庫(kù)的本地接口的調(diào)用。

  C Pure Java Driver for Database Middleware(類(lèi)型3):這個(gè)驅(qū)動(dòng)把JDBC調(diào)用轉(zhuǎn)發(fā)給中間件服務(wù)器,由它去和不同的.數(shù)據(jù)庫(kù)進(jìn)行連接。用這種類(lèi)型的驅(qū)動(dòng)需要部署中間件服務(wù)器。這種方式增加了額外的網(wǎng)絡(luò)調(diào)用,導(dǎo)致性能變差,因此很少使用。

  D Direct-to-Database Pure Java Driver(類(lèi)型4):這個(gè)驅(qū)動(dòng)把JDBC轉(zhuǎn)化成數(shù)據(jù)庫(kù)使用的網(wǎng)絡(luò)協(xié)議。這種方案最簡(jiǎn)單,也適合通過(guò)網(wǎng)絡(luò)連接數(shù)據(jù)庫(kù)。不過(guò)使用這種方式的話,需要根據(jù)不同數(shù)據(jù)庫(kù)選用特定的驅(qū)動(dòng)程序,比如OJDBC是Oracle開(kāi)發(fā)的Oracle數(shù)據(jù)庫(kù)的驅(qū)動(dòng),而MySQL Connector/J是MySQL數(shù)據(jù)庫(kù)的驅(qū)動(dòng)。

  JDBC是如何實(shí)現(xiàn)Java程序和JDBC驅(qū)動(dòng)的松耦合的?

  JDBC API使用Java的反射機(jī)制來(lái)實(shí)現(xiàn)Java程序和JDBC驅(qū)動(dòng)的松耦合。隨便看一個(gè)簡(jiǎn)單的JDBC示例,你會(huì)發(fā)現(xiàn)所有操作都是通過(guò)JDBC接口完成的,而驅(qū)動(dòng)只有在通過(guò)Class.forName反射機(jī)制來(lái)加載的時(shí)候才會(huì)出現(xiàn)。

  我覺(jué)得這是Java核心庫(kù)里反射機(jī)制的最佳實(shí)踐之一,它使得應(yīng)用程序和驅(qū)動(dòng)程序之間進(jìn)行了隔離,讓遷移數(shù)據(jù)庫(kù)的工作變得更簡(jiǎn)單。在這里可以看到更多JDBC的使用示例。

【JAVA JDBC常見(jiàn)面試題及答案】相關(guān)文章:

2017年java常見(jiàn)面試題及答案11-11

最新java面試題及答案08-20

java面試題2017及答案08-16

Java面試題大全及答案08-16

關(guān)于Java面試題及答案08-12

JAVA編程面試題及答案09-16

2016年關(guān)于jdbc的面試題及答案09-25

NIIT認(rèn)證Java面試題及答案11-11

2017年java面試題及答案10-26

Java main方法面試題及答案09-17