mybatis如何實現數據傳輸?
單個參數:mybatis 不會做特殊處理
"#{參數名/任意名}:取出參數值"
多個參數:
多個參數會被封裝成一個 map,key:param1, .... paramN,或者參數的索引也可以,#{}就是從 map 中獲取指定的key的值
【命名參數】:明確指定封裝參數時map的key;
語法格式:@Param(“參數名”),多個參數會被封裝成一個map;
key:使用@Param注解指定的值
value:參數值
"#{指定的 key}取出對應的參數值"
傳入的是Java Bean、POJO、entity時
如果傳入參數正好是我們業務邏輯的數據模型,mybatis會把該對象的屬性作為封裝的map中的key,#{key}取出map中對應的值
map集合(多表幾個字段 )
mybatis的sql映射語句中的#{}需要更具傳入的map集合中的key進行取值
TO 或 VO 查詢多個
如果多個參數不是業務模型中的數據,但是經常要使用,推薦編寫一個TO(Transfer Object)或VO(View Object)數據傳輸對象,mybatis對其處理方式類似傳入一個entity實體類