MyBatis錯題合集


1、MyBatis中在查詢進行select映射的時候,返回類型可以用resultType,也可以用resultMap,resultType是直接表示返回類型的,而resultMap則是對外部ResultMap的引用,但是resultType跟resultMap不能同時存在

2、resultType與resultMap在任何時候都不可以同時使用。
對於resultMap自動映射有三個匹配級別,當采用默認級別配置的時候,若使用association進行內部嵌套的話,只能匹配你指定的屬性

3、在MyBatis中,對於Insert映射語句有一個useGeneratedKeys屬性,該屬性的默認值為 false

4、關於MyBatis中sq1映射文件中各個元素說法正確的是

	增刪改(insert, delete, update)這些數據庫操作默認返回執行SQL影響的行數,所以DA0層.
的接口的方法返回值一般設置為int類型

insert,delete,update這些更新數據操作元素中不能設置resultType,resultMap 

5、在MyBatis中,以下關於“無效的列類型: 1111 錯誤” 說法正確的選項是

	以上錯誤通常是由於傳入參數的屬性與數據庫字段類型不-致導致
	以上錯誤的解決辦法是排查所有傳入參數與數據庫對應字段的類型,
	以上錯誤的解決辦法是通過指定jdbcType類型來避免

6、在MyBatis中,關於mapper配置文件常用屬性的說法中正確的是

	parameterType屬性用來指定傳入參數的類型
	flushCache用來指定執行語句后是否會清空緩存,增刪改操作時默認為true
	timeout屬性用來指定驅動程序等待數據庫返回結果的超時時間

7、在MyBatis的應用中,我們一般需要設置一個超時時間,當數據庫操作超過超時時間后MyBatis將執行異常終止操作,可以用 defaultStatementTimeout來設置全局超時時間

8、在MyBatis中,說法正確的是 標簽用來定義一個全局的別名,在這里聲明后,任何Mapper映射文件中都可以使用

9、在使用MyBatis的時候,除了可以使用@Param注解來實現多參數入參,還可以用 Map對象可以實現傳遞多參數

10、在MyBatis的開發中,表中的字段名和表對應實體類的屬性名稱不一定都是完全相同的,說法正確的是

	A:查詢的列起和類屬性名相同的別名, 讓字段名的別名和實體類的屬性名一致

	B: MyBatis可以配置resul tlMap標簽,來映射字段名和實體類屬性名的一一對應關系

11、Mybatis中,關於resultlMap collection嵌套查詢(select)方式說法正確的是

		Column屬性設置關聯的主鍵列,用於嵌套查詢SQL語句傳入參數,多個用逗號分開。 

12、在MyBatis中,下列關於resultType和resultMap說法正確的是 resultType也可以是Map數據結構

13、resultMap中association的各個屬性的含義:

        property:映射數據庫列的字段或屬性。
        colum:數據庫的列名或者列標簽別名。
        javaTyp:完整java類名或別名。 
        jdbcType支持的JDBC類型列表列出的JDBC類型。這個屬性只在insert,update或delete的時候針對允許空的列有用。
        resultMap: 一個可以映射聯合嵌套結果集到一個適合的對象視圖上的ResultMap。這是一個替代的方式去調用另一個select語句。 

14、當pojo的屬性名與sql語句查詢出來的字段名不一致的時候,需要使用resultMap來進行結果的映射,不能使用resultType

15、下列關於MyBatis中parameterType的說法正確的是

    A:當把一個List實例或者數組作為參數對象傳給MyBatis的時候,myBatis會自動將它包裝在一個Map中,
    List實例將會以“list”作為鍵,而數組實例將會以“array”作為鍵。那么在配置文件中的parameterType是可以不配置

   B: MyBatis的傳入參數如果是一個List或數組,可以使用mapper配置文件中的foreach語句

   C: MyBatis的傳入參數也可是復雜數據類型:包含Java實體類、Map。通過# {屬性名}或# {Map的key}即可獲取傳入的值

16、在MyBatis應用中,當單表數據量很小的情況下,可以使用Mybatis的RowBounds實現內存分頁,以下選項說法正確的是

17、在處理數據庫中的數據時,Mybatis、Hibernate和JDBC哪種技術的效率最高

	答案:JDBC,因為Mybatis、Hibernate是ORM框架,封裝了JDBC,簡化了復雜的JDBC操作,沒有直接使用JDBC效率高。

18、在MyBatis動態SQL中,以下說法正確的是

A:利用if標簽實現簡單的條件選擇

B: where標簽可以簡化SQL語句中的where子句處理

C: trim標簽可以靈活地去除多余的關鍵字

19、有關MyBatis中動態SQL的說法中正確的是

A: where元素可以動態創建where子句,且編寫時無需考慮以and開頭的情況

B: set元素可以為update語句動態創建set子句


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM