Set 1 = new HashSet();
Set l2 = new HashSet();
s2.setUsername('username02');
s3.setUsername('username004');
l1.add(s2);
l2.add(s2);
l2.add(s3);
List i = sysService.testRun06(l1,l2);
System.out.println(i.get(0).getUsername().toString());
(HashSet--------------------------------------------------------------------------------------------)
public List testParamList2(@Param('set1') Set set1,@Param('set2') Set set2);
(HashSet--------------------------------------------------------------------------------------------)
<select id="testParamList2" resultType="com.sly.web.sys.model.SysU">
select * from testuser
<where>
username in
<foreach item="item" index="0" collection="set2" open="(" separator="," close=")">
#{item.username}
</foreach>
</where>
</select>
(map------------------------------------------------------------------------------------)
Map map = new HashMap();
Map map01 = new HashMap();
SysU s = new SysU();
s.setId(14);
s.setSex("0");
map.put("model", s);
map01.put("username", "username");
String address = "address12";
(map------------------------------------------------------------------------------------)
对应@param("map")
map是pojo对象 点儿key 获取value值
例如(SysU s = new SysU();
s.setId(14);
map.put("model", s);
"#{map.model.sex}")
简单类型 直接获取key就好例如(#{map01.username})
(map------------------------------------------------------------------------------------)
public SysU testParamMapModelResult(@Param("map") Map map,@Param("map01") Map map01,@Param("address") String address);
(map------------------------------------------------------------------------------------)
<select id="testParamMapModelResult" resultType="com.sly.web.sys.model.SysU">
select * from testuser
<where>
id=#{map.model.id} and sex = #{map.model.sex} and username=#{map01.username} and address = #{address}
</where>
</select>
(List------------------------------------------------------------------------------------)
List l1 = new ArrayList();
SysU s1 = new SysU();
SysU s2 = new SysU();
SysU s3 = new SysU();
s1.setUsername("username001");
s1.setSex("sex001");
s1.setBirthday("2017-06-05");
s1.setAddress("addredd001");
s2.setUsername("username002");
s2.setSex("sex002");
s2.setBirthday("2017-06-05");
s2.setAddress("addredd002");
s3.setUsername("username003");
s3.setSex("sex003");
s3.setBirthday("2017-06-05");
s3.setAddress("addredd003");
l1.add(s2);
List l2 = new ArrayList();
SysU s4 = new SysU();
l2.add(s4);
s4.setUsername("username004");
s4.setSex("sex004");
s4.setBirthday("2017-06-05");
s4.setAddress("addredd004");
sysService.testRun05(l1,l2);
(List------------------------------------------------------------------------------------)
index 代表循环的次数
collection 代表mapper.java @param 参数指定要循环的list2 (如下)
public Integer testParamListInsert(@Param("list1") List list1,@Param("list2") List list2);
item代表的是 取出来的对象 然后 点儿 对象中的属性 就可以取值啦;
如果是简单类型 对应的item 是依次存入List的 元素值
(List------------------------------------------------------------------------------------)
<insert id="testParamListInsert" >
insert into testuser(username,sex,birthday,address) value
<foreach item="item" index="index" collection="list2" open="(" separator="," close=")">
#{item.username}, #{index}, #{item.birthday}, #{item.address}
</foreach>
</insert>
(List------------------------------------------------------------------------------------)