mybatis 通过id同时查询多个用户 foreach标签

1.UserMapper接口类

如果不使用命名参数@Param 那么xml文件的里面的形参只能使用list不能使用ids

 List selectUsersByIds(@Param("ids")List ids);

2.UserMapper.XML文件

foreach标签详见:https://www.cnblogs.com/qiankun-site/p/5762380.html    

collection :collection属性的值有三个分别是list、array、map三种

         item : 表示在迭代过程中每一个元素的别名

         index :表示在迭代过程中每次迭代到的位置(下标)

         open :前缀 close :后缀

         separator :分隔符,表示迭代时每个元素之间以什么分隔

        

小细节,这里迭代的是id1,id2,Id3所以()可以放在open close里面不参与迭代

而如果是批量插入的values (),(),()括号是参与遍历的,不能放在open和close里面 

3.测试 

        @Test
	public void testSelectUsersByIds() {
		List ids = new ArrayList<>();
		ids.add(1L); ids.add(2L); 
		ids.add(5L);
		List users = userMapper.selectUsersByIds(ids);
		for(User user:users) {
			System.out.println(user);
		}
	}

 

你可能感兴趣的:(java,框架之mybatis)