多項選擇題關(guān)于PreparedStatement接口與Statement接口的使用,哪些說法是正確的?()

A.PreparedStatement接口繼承自Statement接口
B.PreparedStatement提高了代碼的可讀性和可維護性。PreparedStatement使用占位符,容易理解,可讀性強,而Statement使用字符串拼接,麻煩而且過長時可讀性差
C.PreparedStatement性能更高。創(chuàng)建PreparedStatement對象時使用SQL語句做參數(shù),會解析并編譯SQL語句。也可以使用帶占位符“?”的SQL語句做參數(shù),在通過setXxx()方法給占位符賦值后執(zhí)行SQL語句時無需再解析和編譯SQL語句,直接執(zhí)行。當進行批處理(多次執(zhí)行相同操作)時,效率高。而創(chuàng)建Statement對象不使用SQL參數(shù),不會解析并編譯SQL語句,每次調(diào)用執(zhí)行SQL語句時都要進行SQL語句的解析和編譯操作,效率低
D.PreparedStatement更安全。PreparedStatement使用預(yù)編譯處理,傳入的任何參數(shù)都不會和已經(jīng)預(yù)編譯的SQL語句進行拼接,避免了SQL注入攻擊問題


您可能感興趣的試卷

你可能感興趣的試題

1.多項選擇題關(guān)于executeUpdate和executeQuery、execute方法,下列說法正確的是()。

A.方法executeUpdate用于執(zhí)行INSERT、UPDATE 或DELETE 語句以及SQL DDL(數(shù)據(jù)定義語言)語句。返回值是一個整數(shù),指示受影響的行數(shù)(即更新計數(shù))
B.方法executeQuery用于產(chǎn)生單個結(jié)果集的語句
C.方法execute返回的結(jié)果是個boolean型,當返回的是true的時候,表明有ResultSet結(jié)果集,通常是執(zhí)行了select操作,當返回的是false時,通常是執(zhí)行了insert、update、delete等操作。execute通常用于執(zhí)行不明確的sql語句
D.它們都是Statement接口提供的執(zhí)行SQL語句的方法

2.多項選擇題關(guān)于Java中JDBC,哪些說法是正確的?()

A.JDBC的全稱是Java Data Base Connectivity,是JAVA程序連接數(shù)據(jù)庫的工具。是一個統(tǒng)一的標準,為多種數(shù)據(jù)庫提供統(tǒng)一的訪問
B.JDBC提供了對Java程序員,數(shù)據(jù)庫廠商及第三方中間件廠商的API
C.對于不同廠商的數(shù)據(jù)庫,JDBC驅(qū)動包都相同
D.JDBC是由一組用Java語言編寫的類和接口組成,不同的數(shù)據(jù)庫都會實現(xiàn)這種接口

3.多項選擇題Enumeration接口與Iterator接口有哪些異同點?()

A.Enumeration只能遍歷Vector、Hashtable,Iterator能遍歷所有Collection集合
B.Enumeration不支持刪除操作,Iterator支持刪除操作
C.Enumeration只支持向后遍歷元素,Iterator支持向前向后遍歷元素
D.JDK 9之后兩者可以互相轉(zhuǎn)換

4.多項選擇題Hashtable和HashMap在實現(xiàn)細節(jié)方面的區(qū)別有哪些?()

A.Hashtable是線程安全的,而HashMap不是線程安全的
B.Hashtable不允許存儲空鍵或空值,而HashMap允許存儲空鍵和空值
C.Hashtable的初始容量和加載因子都有默認值,而HashMap需要手動指定這些值
D.Hashtable的底層實現(xiàn)使用數(shù)組+鏈表,而HashMap的底層實現(xiàn)使用數(shù)組+鏈表/紅黑樹

5.多項選擇題以下關(guān)于ListIterator接口和Iterator接口描述正確的有哪些?()

A.ListIterator支持雙向遍歷,Iterator僅支持單向遍歷
B.ListIterator可以修改、添加、刪除元素,Iterator全不支持
C.ListIterator繼承于Iterator接口
D.只有List才能獲得ListIterator,所有Collection都能獲得Iterator