Mybatis中爲Mapper中傳入多個值

1.通過順序

 ​ <select id = "selectTest" resultMap = "SysResult">
     select * from user where name = #{0} and dept = #{1}
 </select>

在#{}中的數字代表了傳遞參數的順序,一般不建議使用

2.通過@Param

 public User selectTest(@Param("UserName") String name,@Param("deptID") int deptId)
 <select id = "selectTest" resultMap = "UserResult">
     select * from user where name = #{userName} and dept = #{deptId}
 </select>

其中,#{}中的字符串就是@Param修飾的變量名稱,適用於參數較少的情況

3.通過Map

 public User selectTest(Map<String,String> items);
 ​
 <select id = "selectTest" parameterType = "java.util.Map" resultMap = "UserResult">
     select * from user where name = #{NameKey} and dept = #{deptKey}
 </select>

#{}中的內容就是Map的Key

4.通過實體類

 public User selectTest(User user)
     
 <select id = "selectTest" parameterType = "cn.tineaine.pojo.User" resultMap = "UserResult">
     select * from user where name = #{userName} and dept = #{dept}
 </select>

#{}中的內容是POJO中成員屬性的名稱,其需要通過實體類進行操作,如果需要擴展,則必須修改pojo的內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章