單選題
1.下列選項中哪一個是serializable可以解決的問題( )
A、髒讀 |
B、髒讀、不可重複讀 |
C、髒讀、不可重複讀、虛讀 |
D、以上三個中都不能解決 |
正確答案:C |
2.如果要使用JDBC連接mysql的mydb數據庫,那麼url應該是()
A、jdbc:mysql//:localhost:3306/mydb |
B、jdbc:mysql://localhost:3306/mydb |
C、mysql:jdbc//:localhost:3306/mydb |
D、mysql:jdbc://localhost:3306/mydb |
正確答案:B |
3.以下對JDBC描述不正確的是()
A、JDBC是sun公司提供的一套訪問數據庫的java接口 |
B、在java程序中可以直接通過jdbc,而不需藉助其他東西就可以訪問數據庫 |
C、JDBC出現的目的是對數據庫訪問提供統一的規範,方便程序員開發 |
D、通過JDBC訪問數據庫,還需要使用到JDBC的實現 |
正確答案:B |
4.下列哪一項是連接池( )
A、C3P0 |
B、mybatis |
C、Hibernate |
D、DBUtils |
正確答案:A |
5.下列哪一個不是DBCP配置項中必須的( )
A、driverClassName |
B、Url |
C、maxWait |
D、Username |
正確答案:C |
6.以下代碼中可以正確提交事務的是( )
A、conn.setAutoCommit(false)。 |
B、conn.commit()。 |
C、conn.rollback()。 |
D、conn.setAutoCommit(true)。 |
正確答案:B |
7.在JDBC配置項中maxActive表示( )
A、最大連接數量 |
B、最小空閒連接 |
C、最大空閒連接 |
D、初始化連接 |
正確答案:A |
8.如果爲下列預編譯的SQL的第三個問號賦值,那麼正確的選項是哪一個?()
UPDATE EMP SET ENAME=?,JOB=?,SALARY=? WHERE EMPNO=?;
A、pst.setInt(“3”,2000); |
B、pst.setInt(3,2000); |
C、pst.setFloat(“salary”,2000); |
D、pst.setInt(“salary”,“2000”); |
正確答案:B |
9.下列jdbc的預編譯SQL語句中,佔位符使用正確的是()
A、“” |
B、user.getUsername |
C、? |
D、以上都不對 |
正確答案:C |
10.以下哪個是JDBC中事務控制的方式( )
A、conn.setAutoCommit(false) |
B、new QueryRunner() |
C、update(conn, sql , params) |
D、DbUtils.commitAndClose(conn) |
正確答案:A |
11.以下對javaBean描述不正確的是( )
A、必須實現接口:java.io.Serializable |
B、提供私有字段:private 類型 字段名 |
C、提供getter/setter方法 |
D、提供無參的構造方法 |
正確答案:A |
12.使用DriverManager註冊驅動下列說法正確的是?()
A、驅動被註冊兩次 |
B、後期易於程序擴展 |
C、驅動被註冊一次 |
D、後期易於程序維護 |
正確答案:A |
13.下面的描述正確的是什麼?( )
A、PreparedStatement繼承自Statement |
B、Statement繼承自PreparedStatement |
C、ResultSet繼承自Statement |
D、CallableStatement繼承自PreparedStatement |
正確答案:A |
14.以下是SQL注入問題解決方法的是()
A、使用PreparedStatement預處理對象執行sql語句 |
B、不使用數據庫存放客戶的信息 |
C、SQL可以方便用戶,無需解決。 |
D、使用Statement預處理對象執行SQL語句 |
正確答案:A |
15.下列哪一項是repeatable read存在的問題( )
A、虛讀 |
B、不可重複讀、虛讀 |
C、髒讀、不可重複讀、虛讀 |
D、以上三個中都不存在 |
正確答案:A |
16.以下對BeanListHandler描述正確的是( )
A、將結果集中的第一條記錄封裝到一個Object[]數組中 |
B、將結果集中的每一條記錄封裝到一個List集合中 |
C、將結果集中第一條記錄封裝到一個指定的javaBean中。 |
D、將結果集中每一條記錄封裝到指定的javaBean中,將這些javaBean在封裝到List集合中 |
正確答案:D |
17.以下對C3P0描述不正確的是( )
A、C3P0開源免費的連接池 |
B、使用C3P0不需要導包 |
C、C3P0的默認配置文件是c3p0-config.xml |
D、使用C3P0需要導包 |
正確答案:B |
18.以下連接池的描述不正確的是( )
A、連接池是存放數據庫連接對象的容器。 |
B、使用連接池可以調高程序的性能。 |
C、結束數據庫訪問時,把數據庫連接還給連接池,而不是關閉連接。 |
D、使用連接池會造成內存的浪費,不建議使用。 |
正確答案:D |
19.以下提交MySQL事務操作的命令是()
A、start transaction |
B、commit transaction |
C、commit |
D、rollback |
正確答案:C |
20.下列哪個不是JDBC事務操作( )
A、conn.setAutoCommit(false); |
B、Conn.close; |
C、conn.commit(); |
D、conn.rollback(); |
正確答案:B |
多選題
21.以下對SQL注入問題描述正確的是()
A、SQL注入是一種惡意的行爲 |
B、SQL注入問題在現階段無法解決 |
C、SQL注入式一種欺騙服務器執行惡意sql語句的行爲 |
D、SQL注入問題會造成用戶信息的泄露 |
正確答案:ACD。 |
22.下列哪些是ResultSet的方法?( )
A、getObject(String name); |
B、getString(int index); |
C、getInt(int index); |
D、getDouble(int index) |
正確答案:ABCD。 |
23.以下對JDBC描述正確的是: ()
A、JDBC是sun公司提供的一套訪問數據庫的java接口 |
B、在java程序中可以直接通過jdbc,而不需藉助其他東西就可以訪問數據庫。 |
C、JDBC出現的目的是對數據庫訪問提供統一的規範,方便程序員開發。 |
D、通過JDBC訪問數據庫,還需要使用到JDBC的實現。 |
正確答案:ACD。 |
24.併發訪問可能會出現問題有( )
A、髒讀 |
B、不可重複讀 |
C、虛讀 |
D、幻讀 |
正確答案:ABCD。 |
25.下列哪些結果集是用List封裝的( )
A、ArrayListHandler |
B、BeanListHandler |
C、MapListHandler |
D、ColumnListHandler |
正確答案:ABCD。 |
26.下列哪些是read committed存在的問題( )
A、虛讀 |
B、不可重複讀 |
C、髒讀 |
D、以上三個中都不能解決 |
正確答案:AB。 |
27.下列哪種不屬於可重複讀( )
A、serializable |
B、repeatable read |
C、read committed |
D、read uncommitted |
正確答案:ACD。 |
28.下列哪些結果集是封裝一行數據( )
A、ArrayHandler |
B、ArrayListHandler |
C、BeanHandler |
D、BeanListHandler |
正確答案:AC。 |
29.使用JDBC訪問數據庫對事務操作的代碼的是( )
A、conn.setAutoCommit(false)。 |
B、conn.commit()。 |
C、conn.rollback()。 |
D、conn.setAutoCommit(true)。 |
正確答案:ABCD。 |
30.下列哪些是C3P0配置項中必須的( )
A、jdbcUrl |
B、driverClass |
C、user |
D、password |
正確答案:ABCD。 |
判斷題
31.MapListHandler是將結果集中每一條記錄封裝到了Map<String,Object>集合中,再將這些Map封裝到List集合中。MapListHandler是將結果集中每一條記錄封裝到了Map<String,Object>集合中,再將這些Map封裝到List集合中。
T、√ |
F、× |
正確答案:T。 |
32.將Java語言和JDBC結合起來使程序員只須寫一遍程序就可以讓它在任何平臺上運行。將Java語言和JDBC結合起來使程序員只須寫一遍程序就可以讓它在任何平臺上運行。
T、√ |
F、× |
正確答案:T。 |
33.C3P0配置項中user表示用戶名C3P0配置項中user表示用戶名
T、√ |
F、× |
正確答案:T。 |
34.BeanListHandler將一條記錄封裝到一個JavaBean中BeanListHandler將一條記錄封裝到一個JavaBean中
T、√ |
F、× |
正確答案:F。 |
35.SQL注入問題在現階段尚未有方法解決SQL注入問題在現階段尚未有方法解決
T、√ |
F、× |
正確答案:F。 |
36.創建JDBC工具類不能避免重複的”獲得數據庫連接”創建JDBC工具類不能避免重複的”獲得數據庫連接”
T、√ |
F、× |
正確答案:F。 |
37.DBCP不是tomcat內置的連接池。DBCP不是tomcat內置的連接池。
T、√ |
F、× |
正確答案:F。 |
38.insert語句、update語句都可以使用queryRunner中的update方法執行insert語句、update語句都可以使用queryRunner中的update方法執行
T、√ |
F、× |
正確答案:T。 |
39.一個事務中的多個操作可以部分成功,部分失敗。一個事務中的多個操作可以部分成功,部分失敗。
T、√ |
F、× |
正確答案:F。 |
40.DBUtils回滾並關閉連接的方法是DbUtils.rollbackAndClose(conn);DBUtils回滾並關閉連接的方法是DbUtils.rollbackAndClose(conn);
T、√ |
F、× |
正確答案:T。 |