mybatis知識點總結

2021-08-16 10:49:42 字數 801 閱讀 1790

1、resultmap、resulttype、parametertype、parametermap的區別:

2、#{}、${}的區別:

1、#{}將傳入的資料都當成是乙個字串,會自動對傳入的資料加上乙個雙引號

2、${}是乙個替換的功能

3、#{}方式可以很大程度上防止sql注入

4、${}一般用於傳入資料庫物件,例如傳入表名

5、mybatis排序時使用order by 動態引數時需要注意,用${}而不是#{}

6、一般能用#{}就不用${}

3、date 和 timestamp的區別:

4、配置多資料來源的方式以及存在的問題(事務,併發)

5、resultmap標籤的便利性,collection association 等的使用

collection是一對多

association是一對一

6、資料庫插入操作返回自增主見id,使用usegeneratekeys和keyproperty屬性:

insert into invt_repair_file

id,file_name,

#,#,

7、mybatis一級快取 二級快取

如果是執行兩次service呼叫查詢相同 的使用者資訊,不走一級快取,因為service方法結束,sqlsession就關閉,一級快取就清空。這個時候就需要使用二級快取,

使用一級快取:

(1)新增@transactional註解

mybatis總結的知識點

原始碼中configuration這個類是解析所有配置檔案的 有幾種執行器 executortype中有三種列舉型別 simpe簡單的 預設的 reuse復用的 batch批量的 預設的一級快取是開啟的還是關閉的 在configuration中有乙個cacheenabled true 這個開啟後就開...

Mybatis小知識點

select from user and username like and 2 foreach標籤 select from user and username like and 3 selectkey標籤 select last insert id insert into user usernam...

mybatis知識點(已掌握)

1.和 的區別?直接顯示傳入資料,不能防止sql注入,一般用於傳資料庫物件 比如表名 傳入資料被當成字串,自動加上雙引號,防止sql注入。2.有哪些executor?區別?executor 每執行一次update或select,就開啟乙個statement物件,用完立刻關閉statement物件。r...