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...