Java高級程序設(shè)計實(shí)戰(zhàn)教程(戴遠(yuǎn)泉第2版) 課后練習(xí)題庫答案 學(xué)習(xí)領(lǐng)域8 課后習(xí)題_第1頁
Java高級程序設(shè)計實(shí)戰(zhàn)教程(戴遠(yuǎn)泉第2版) 課后練習(xí)題庫答案 學(xué)習(xí)領(lǐng)域8 課后習(xí)題_第2頁
Java高級程序設(shè)計實(shí)戰(zhàn)教程(戴遠(yuǎn)泉第2版) 課后練習(xí)題庫答案 學(xué)習(xí)領(lǐng)域8 課后習(xí)題_第3頁
Java高級程序設(shè)計實(shí)戰(zhàn)教程(戴遠(yuǎn)泉第2版) 課后練習(xí)題庫答案 學(xué)習(xí)領(lǐng)域8 課后習(xí)題_第4頁
Java高級程序設(shè)計實(shí)戰(zhàn)教程(戴遠(yuǎn)泉第2版) 課后練習(xí)題庫答案 學(xué)習(xí)領(lǐng)域8 課后習(xí)題_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

學(xué)習(xí)領(lǐng)域8Java數(shù)據(jù)庫編程

課后習(xí)題

一、填空題

1.URL定義了連接數(shù)據(jù)庫時的協(xié)議、子協(xié)議和數(shù)據(jù)庫標(biāo)識。

2JDBCAPI提供的連接和操作數(shù)據(jù)庫的類和接口位于javax.sql_____包和

java.sql包中。

3.ResultSet對象的next()方法表示將光標(biāo)從當(dāng)前位置移向下一行。

4.一個Statement對象,可以執(zhí)行多個sql語句以后,批量更新。這多個語句可

以是delete、update、insert等或兼有

5Java數(shù)據(jù)庫操作基本流程:加載數(shù)據(jù)庫驅(qū)動、取得數(shù)據(jù)庫連接、執(zhí)行sql語句、

處理執(zhí)行結(jié)果、釋放數(shù)據(jù)庫連接。

6.接口Statement中定義的execute方法的返回類型是_1300比211_。

7.executeQuery方法返回的類型是_ResultSet_。

8.executeUpdate返回的類型是

9.JDBC的全稱是______JavaDataBaseConnectivityo

10.DAO的全稱DataAccessObjecto

二、單選題

1.下面是一組對JDBC的描述,正確的說法是—Bo

A.JDBC是一個數(shù)據(jù)庫管理系統(tǒng)

BJDBC是一個由類和接口組成的API

C.JDBC是一個驅(qū)動查詢

DJDBC是一組命令

2.創(chuàng)建數(shù)據(jù)庫連接的目的是____Ao

A.建立一條通往某個數(shù)據(jù)庫的通道

B.加載數(shù)據(jù)庫驅(qū)動程序

C.清空數(shù)據(jù)庫

D.為數(shù)據(jù)庫增加記錄

3.要為數(shù)據(jù)庫增加記錄,應(yīng)調(diào)用Statement對象的C方法。

A.addRecord()B.executeQuery()C.executeUpdate()D.executeAdd()

4.PreparedStatement對象的C方法執(zhí)行包含參數(shù)的動態(tài)INSERT、

UPDATE.DELETE語句。

A.query()B.execute()C.executeUpdate()D.executeQuery()

5.ResultSetMetaData對象的A方法返回指定列序號的列名。

A.getColumnName()B.getColumnCount()

C.getColumnLabel()D.getColumnType()

6.下列SQL語句中,哪一項可用executeQuery()方法發(fā)送到數(shù)據(jù)庫C

A.UpdateB.DeleteC.SelectD.Insert

7.下面哪個選項不是客戶端的Java應(yīng)用程序需要完成的工作A。

A.與數(shù)據(jù)庫的某個表建立連接B.與特定的數(shù)據(jù)庫建立連接

C.發(fā)送SQL語句,得到查詢結(jié)果D.關(guān)閉與JDBC服務(wù)器的連接

8.使用JDBC訪問數(shù)據(jù)庫時,下列關(guān)于JDBC的說法正確的是(C)。

A.Connection接口負(fù)責(zé)執(zhí)行SQL語句。

B.可以使用Class.forName()方法把JDBC驅(qū)動類裝載入Java虛擬機(jī)中。

CStatement接口由Connection產(chǎn)生負(fù)責(zé)保存返回的查詢結(jié)果。

D.DriverManager類負(fù)責(zé)連接數(shù)據(jù)庫并傳送數(shù)據(jù)。

9.在Java中,以下關(guān)于得到ResultSet對象、PreparedStatement對象、Statement

對象的說法,正確的是(A)

A.可以使用Statement對象的executeQuery方法返回ResultSet對象

B.可以使用Connection對象的createStatement方法獲得PreparedStatement對

C.可以使用Connection對象的createStatement方法獲得ResultSet對象

D.可以使用Connection對象的executeQuery方法返回ResultSet對象

10.在下列選項中,哪一個可執(zhí)行同構(gòu)的sql語句?(C)

A.CallableStatement

B.Statement

C.PreparedStatement

ll.JDBC編程的異常類型分為()

A.SQLExceptionB.SQLErrorC.SQLFatalD.SQLTruncation

12號妾口Statement中定義的execute方法的返回類型所代表的含義是(C)

A.結(jié)果集ResultSet

B.受影響的記錄數(shù)量

C.有無ResultSet返回

13.JDBC接口Statement中定義的execute。方法的返回類型是(C)。

A.ResultSetB.intC.booleanD.受影響的記錄數(shù)量

14Java程序與數(shù)據(jù)庫連接后,需要查看某個表中的數(shù)據(jù),使用下列哪個語句?(B)

A.executeQuery()B.executeUpdate()CexecuteEdit()D.executeSelect()

15.java程序與數(shù)據(jù)庫連接后,需要修改某個表中的數(shù)據(jù),使用下列哪個語句?(B)

A.executeQuery()B.executeUpdate()CexecuteEdit()D.executeSelect()

16.在Java中JDBCAPI定義了一組用于與數(shù)據(jù)庫進(jìn)行通信的接口和類,它們包括

在(B)包。

A.java.IangB.java.sqIC.java.utilD.java.math

17.在Java中,使用JDBC開發(fā)應(yīng)用程序時處理步驟正確的是(A)。

A.I.加載數(shù)據(jù)庫驅(qū)動;2.創(chuàng)建數(shù)據(jù)庫連接;3.執(zhí)行SQL命令;4.處理結(jié)果

B.I.加載數(shù)據(jù)庫驅(qū)動;2..執(zhí)行SQL命令3創(chuàng)建數(shù)據(jù)庫連接;4.處理結(jié)果

C.I.創(chuàng)建數(shù)據(jù)庫連接2加載數(shù)據(jù)庫驅(qū)動;3.執(zhí)行SQL命令;4.處理結(jié)果

D.L創(chuàng)建數(shù)據(jù)庫連接2執(zhí)行SQL命令;3.加載數(shù)據(jù)庫驅(qū)動;4.處理結(jié)果

18.假設(shè)Mysql數(shù)據(jù)庫中有表book,包含兩個字段:id整型,title字符型。向此

表插入數(shù)據(jù)的Java代碼片段如下所示,其中con為已正確獲得的連接數(shù)據(jù)庫的

^Connection對象,則以下描述正確的是(C)

PreparedStatementpsrz77r-co/7.preparedStatement("insertintobook(id,title)val

ues(?,?)");

Pstmt.setlnt(0,10);

Pstmt.setString(l,"Java");

Pstmt.excuteUpdate();

A.創(chuàng)建PreparedStatement對象的語句有錯誤

B.向book表插入數(shù)據(jù)的sql語句有錯誤

C.setlnt、setString方法有缶昔誤

D.PreparedStatement沒有executeUpdate。方法

19以下選項中關(guān)于DAO模式的說法錯誤的是(C)

ADAO是"DataAccessObject”的含義,實(shí)現(xiàn)對數(shù)據(jù)庫資源的訪問。

B.DAO模式中要定義DAO接口和實(shí)現(xiàn)類,隔離了不同數(shù)據(jù)庫的實(shí)現(xiàn)。

C.DAO負(fù)責(zé)執(zhí)行業(yè)務(wù)邏輯操作,將業(yè)務(wù)邏輯和數(shù)據(jù)訪問隔離開來

D.使用DAO模式提高了數(shù)據(jù)訪問代碼的復(fù)用性

20以下選項中關(guān)于Java分層開發(fā)技術(shù)中實(shí)體類的說法錯誤的是(D)

A.在分層開發(fā)中,不同層之間可以通過實(shí)體類來傳輸數(shù)據(jù)

B.實(shí)體類一般對應(yīng)一個數(shù)據(jù)庫表,其屬性和數(shù)據(jù)庫表的字段對應(yīng)

C.實(shí)體類最好實(shí)現(xiàn)java.io.Serializable,支持序列化機(jī)制

D.實(shí)體類的屬性和方法一般均使用public修飾

21為了實(shí)現(xiàn)在Java的程序中調(diào)用帶參數(shù)的SQL語句,應(yīng)該采用那個類來完成

(B)o

A.Connection類

B.PreparedStatement類

C.ResultSet類

0.Statement類

22.下列選項對DBCP數(shù)據(jù)庫連接池描述錯誤的是:(D)

A.initialSize屬性,表示初始化連接數(shù)目

B.maxActive屬性設(shè)置最大的活動連接數(shù)

C.maxWait屬性,表式連接池中連接用完時,新的請求等待時間

D.maxldle表示最小空閑連接數(shù)

23.下面關(guān)于JSON說法錯誤的是:(D)

AJson是一種數(shù)據(jù)交互格式

B.json的數(shù)據(jù)格式有兩種為0和口

C.json數(shù)據(jù)用{)表示java中的對象,口表示Java中的List對象

D.{"1":"123"2":"234"3":"345"}不是json數(shù)據(jù)

三、簡答題

1.簡述java.sql包中主要類和接口的作用。

答題要點(diǎn):

Driver接口,它是所有JDBC驅(qū)動程序必須實(shí)現(xiàn)的接口。

DriverManager類,驅(qū)動程序管理器類,用于加載JDBC驅(qū)動并創(chuàng)建與數(shù)據(jù)庫的

連接。

Connection接口,表示與指定數(shù)據(jù)庫的連接。

Statement接口,將SQL語句傳送給數(shù)據(jù)庫并返回結(jié)果。

ResultSet接口,針對有返回結(jié)果的SQL語句,ResultSet接口用來處理結(jié)果。

2.簡述使用JDBC操作數(shù)據(jù)庫的基本步驟。

答題要點(diǎn):

JDBC操作數(shù)據(jù)庫的基本步驟:

加載JDBC驅(qū)動程序

獲取數(shù)據(jù)庫的連接

創(chuàng)J建Statement對象

執(zhí)行SQL語句

處理sql的返回結(jié)果

關(guān)閉連接

3.常用的數(shù)據(jù)庫操作對象有哪些?這些對象分別用來做什么?

答題要點(diǎn):

數(shù)據(jù)庫對象是數(shù)據(jù)庫的組成部分,除了數(shù)據(jù)庫本身外,常見的對象有:

表(Table),用來存放數(shù)據(jù)記錄。

索引(Index),索引是根據(jù)指定的數(shù)據(jù)庫表列建立起來的順序。

視圖(View),視圖是一個虛擬的表,是由查詢數(shù)據(jù)表產(chǎn)生的。

數(shù)據(jù)庫關(guān)系圖(Databasediagram),描述表之間的關(guān)系以及表的行列屬性。

默認(rèn)值(Default),對沒有指定其具體值的列或列數(shù)據(jù)項賦予事先設(shè)定好的值。

規(guī)則(Rule),對數(shù)據(jù)庫表中數(shù)據(jù)信息的限制,其限定的是表的列。

存儲過程(StoredProcedure),存是為完成特定功能而匯集在一起的一組SQL

程序語句,經(jīng)編譯后存儲在數(shù)據(jù)庫中的SQL程序。

觸發(fā)器(Trigger),是一個用戶定義的SQL事務(wù)命令的集合

用戶(User),是有權(quán)限訪問數(shù)據(jù)庫的使用者。

4.ResultSet對象的作用是什么?該對象的常用方法有哪些?

答題要點(diǎn):

ResultSet對象的作用是用來存放查詢結(jié)果。

ResultSet常用方法有:

next()將光標(biāo)從當(dāng)前位置向下移動一行,也就是讀取下一行

previousQ將光標(biāo)從當(dāng)前位置向上移動一行,也就是讀取上一行

close()關(guān)閉ResultSet對象

getlnt(int)以int的形式獲取結(jié)果集以當(dāng)前行指定序號的值以列的編號或者列

的名字

getlnt(String)以下跟以上一樣以此類推

getFloat(int)

getFloat(String)

getString(int)

getString(String)

getRowQ得到光標(biāo)當(dāng)前所指定的行號

absolute()光標(biāo)移動到row指定的行

5.刪除、增加、修改和查詢記錄的SQL語法是什么?其對應(yīng)的Statement方法又

是什么?

答題要點(diǎn):

增加記錄的SQL語法是:

Insertinto表名(字段1,字段2)values(字段1的值;字段2的值');

其使用Statement對象的executeUpdate。方法

刪除記錄的SQL語法是:

Delete表名where條件;

其使用Statement對象的executedpdate()方法

修改記錄的SQL語法是:

Update表名set字段名='賦值名'where條件字段名='條件值’;

其使用Statement對象的executedpdate()方法

查詢記錄的SQL語法是:

Select*from表名;

使用Statement對象的executeQuery。方法

6.Statement和PreparedStatement有什么區(qū)別?哪個性能更好?

答題要點(diǎn):

Statement和PreparedStatement的區(qū)別:

(1)PreparedStatement接口代表預(yù)編譯的語句,它主要的優(yōu)勢在于可以減少

SQL的編譯錯誤并增加SQL的安全性(減少SQL注射攻擊的可能性);

(2)PreparedStatement中的SQL語句是可以帶參數(shù)的,避免了用字符串連接

拼接SQL語句的麻煩和不安全;

(3)當(dāng)批量處理SQL或頻繁執(zhí)行相同的查詢時,PreparedStatement有明顯的

性能上的優(yōu)勢,由于數(shù)據(jù)庫可以將編譯優(yōu)化后的SQL語句緩存起來,下次執(zhí)行

相同結(jié)構(gòu)的語句時就會很快(不用再次編譯和生成執(zhí)行計劃)。

建議使用預(yù)編譯的PreparedStatement,不但效率高,能夠重用,而且安全。

7.在進(jìn)行數(shù)據(jù)庫編程時,連接池有什么作用?

答題要點(diǎn):

為了提升系統(tǒng)訪問數(shù)據(jù)庫的性能,可以事先創(chuàng)建若干連接置于連接池中,需要時

直接從連接池獲取,使用結(jié)束時歸還連接池而不必關(guān)閉連接,從而避免頻繁創(chuàng)建

和釋放連接所造成的開銷,這是典型的用空間換取時間的策略。

8.什么是DAO模式?

答題要點(diǎn):

DAO(DataAccessObject)是一個為數(shù)據(jù)庫或其他持久化機(jī)制提供了抽象接口

的對象,其中聲明增刪改查方法,當(dāng)需要和數(shù)據(jù)源進(jìn)行交互的時候則使用這個接

口,再設(shè)計DAO實(shí)現(xiàn)類DAOImpI,具體實(shí)現(xiàn)DAO接口中聲明的數(shù)據(jù)庫表操作

方法。使用。4。設(shè)計模式可以簡化大量代碼,增強(qiáng)程序的可移植性。

9.簡述Java使用statement接口執(zhí)行sql語句操作的方法

答題要點(diǎn):

statement執(zhí)行sql語句主要有兩種方法:

(1)對數(shù)據(jù)庫的增、刪、改等操作時,使用stmt.executeupdate(sql)執(zhí)行給定

語句,分別為、返回結(jié)果為受影響的行數(shù)。

sqlinsertsupdatedelete,

(2)對數(shù)據(jù)庫作查詢時,直接使用stmt.executequery(sql),返回結(jié)果為一個

resultset結(jié)果集。

10什么是JDBC?

答題要點(diǎn):

JDBC(JavaDataBaseConnectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的

JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用〕ava語言編寫的類

和接口組成。

11.什么是第三方組件?

答題要點(diǎn):

第三方組件是針對某種軟件在應(yīng)用功能上的不足或缺陷,而由軟件編制方以外的

其他公司、組織或個人開發(fā)的相關(guān)組件。第三方組件一般是自定義組件或者用戶

組件,它們繼承自Java中的某些基類,重寫或者擴(kuò)展了一些方法和屬性,從而

能實(shí)現(xiàn)某些新的功能。

12.簡述第三方組件的使用方法。

答題要點(diǎn):

在Java工程項目中使用第三方組件的方法可歸納如下:

(1)下載第三方組件相應(yīng)的依賴包jar包文件。

(2)將jar包導(dǎo)入到Java工程項目中。

(3)引用jar包的接口、類、方法等編寫應(yīng)用程序。

13JS0N是什么?

答題要點(diǎn):

JSON的全稱是"JavaScriptObjectNotation”,意思是JavaScript對象表示

法,它是一種基于文本,獨(dú)立于語言的輕量級數(shù)據(jù)交換格式。JSON有兩種表示

結(jié)構(gòu),對象和數(shù)組。

14.數(shù)據(jù)庫連接池的思想是什么?有哪些常用的數(shù)據(jù)庫連接池?

答題要點(diǎn):

數(shù)據(jù)庫連

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論