SSM获得这些角色下的用户信息(foreach_array,foreach_list,foreach_map)

foreach_array

1-

   //根据用户的某些角色,获得用户信息列表
    public List<User> getUserListByUserRoles_foreach_array(Integer[] userRoles);

2-

<!--  根据用户的某些角色,获得用户信息列表-->
  <!--  SELECT u.*
    FROM smbms_user u
    WHERE u.`userRole`
    IN (1,2,3);-->
    <select id="getUserListByUserRoles_foreach_array"   resultType="User">
         SELECT u.*
        FROM smbms_user u
        WHERE u.`userRole`
        IN
        <foreach collection="array" item="xiaozhu" open="(" separator="," close=")">
            #{xiaozhu}
        </foreach>
    </select>

3-

@Test
    public void getUserListByUserRoles_foreach_arrayTest(){
        SqlSession sqlSession = MyBatisUtil.createSqlSession();
        Integer[] userRoles={1,2,3};
        List<User> userList = sqlSession.getMapper(UserMapper.class).getUserListByUserRoles_foreach_array(userRoles);
        //提交事务和关闭sqlSession
        sqlSession.commit();
        MyBatisUtil.closeSqlSession(sqlSession);
        for(User u:userList){
            logger.debug(u.getId()+"\t"+u.getUserName()+"\t"+u.getUserCode()+"\t"+u.getUserRole());
        }
    }

foreach_list

1-

 //根据用户的某些角色,获得用户信息列表--封装到list里面
    public List<User> getUserListByUserRoles_foreach_list(List<Integer> userRolesList);

2-

<!--根据用户的某些角色,获得用户信息列表,封装到list里面-->
<select id="getUserListByUserRoles_foreach_list" resultType="User">
    select *
    from smbms_user
    where userRole
    in
    <foreach collection="list" item="luozhixiang" open="(" separator="," close=")">
        #{luozhixiang}
    </foreach>

</select>

3-

@Test
public void getUserListByUserRoles_foreach_listTest(){
    SqlSession sqlSession = MyBatisUtil.createSqlSession();
    List<Integer> userRolesList=new ArrayList<>();
    userRolesList.add(1);
    userRolesList.add(2);
    userRolesList.add(3);
    List<User> userList = sqlSession.getMapper(UserMapper.class).getUserListByUserRoles_foreach_list(userRolesList);
    //遍历
    //提交事务和关闭
    sqlSession.commit();
    MyBatisUtil.closeSqlSession(sqlSession);
    for(User u:userList){
        logger.debug(u.getId()+"\t"+u.getUserName()+"\t"+u.getUserCode()+"\t"+u.getUserRole());
    }
}

foreach_map

1-

 //根据用户的某些角色,获得用户信息列表--封装到map里面
    public List<User> getUserListByUserRoles_foreach_map(Map<String,Object> userRolesMap);

2-

<!--    根据用户的某些角色,获得用户信息列表&#45;&#45;封装到map里面-->
    <select id="getUserListByUserRoles_foreach_map" resultType="User">
        select *
        from smbms_user
        where userRole
        in
        <foreach collection="zhouyangqing" item="heiyanquan" open="(" separator="," close=")">
            #{heiyanquan}
        </foreach>
    </select>

3-

 @Test
    public void getUserListByUserRoles_foreach_mapTest(){
        SqlSession sqlSession = MyBatisUtil.createSqlSession();
        Map<String,Object> userRolesMap=new HashMap<>();//key-value   no1-->1  no2--2  no3--3  ?
        List<Integer> userRolesList=new ArrayList<>();
        userRolesList.add(1);
        userRolesList.add(2);
        userRolesList.add(3);
        userRolesMap.put("zhouyangqing",userRolesList); //key-value注意:key 是什么? 要和sql语句中的 collection的值保持一致
       
        List<User> userList = sqlSession.getMapper(UserMapper.class).getUserListByUserRoles_foreach_map(userRolesMap);
        sqlSession.commit();
        MyBatisUtil.closeSqlSession(sqlSession);
        for(User u:userList){
            logger.debug(u.getId()+"\t"+u.getUserName()+"\t"+u.getUserCode()+"\t"+u.getUserRole());
        }

    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值