【第三阶段 day14】Mybatis的高级用法 Mybatis动态sql(难点) 分支结构用法 Mybatis结构说明 关于Mybatis注解开发说明

1.Mybatis的高级用法(集合参数)

foreach标签属性说明:

  • collection 表示遍历的集合类型
    1.1 数组 关键字array
    1.2 List集合 关键字list
    1.3 Map集合 关键字Map中的key
  • open 循环开始标签
    close 循环结束标签
  • separator 分割符
  • item 当前循环遍历的数据的变量

1.1 数组方式

1.1.1 需求:查询id号1,2,4,5,7的数据(数组方式)

sql语句: select * from demo_user where id in(1,2,4,5,7)

  • UserMapper2接口中的操作
List<User> findIn(int[] ids);
  • UserMappe2.xml中的操作

在这里插入图片描述

    <sql id="user_column">
        id,name,age,sex
    </sql>
    
    <!--
    标签属性说明:
    1.collection     表示遍历的集合类型
        1.1 数组      关键字array
        1.2 List集合  关键字list
        1.3 Map集合   关键字Map中的key
     2.open          循环开始标签
       close         循环结束标签
     3.separator     分割符
     4.item          当前循环遍历的数据的变量
    -->
    <select id="findIn" resultType="User">
        select <include refid="user_column"></include>  from demo_user where id in
           <foreach collection="array" item="id" open="(" close=")" separator=",">
               #{
   id}
           </foreach>

    </select>
  • 测试

在这里插入图片描述

/*业务:查询id号为1,2,4,5,7的数据*/
    @Test
    public void findUserIn(){
   
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        UserMapper2 userMapper2=sqlSession.getMapper(UserMapper2.class);
        int[] ids={
   1,2,4,5,7};
        List<User> user=userMapper2.findIn(ids);
        System.out.println(user);
        sqlSession.close();
    }

1.2 list方式

1.2.1 需求:查询id号1,2,4,5,7的数据(list方式)

sql语句: select * from demo_user where id in(1,2,4,5,7)

  • UserMapper2接口中的操作
 List<User> findList(List list);
  • UserMappe2.xml中的操作

在这里插入图片描述

    <select id="findList" resultType="User">
        select <include refid="user_column"></include> from demo_user where id in
        <foreach collection="list" item="id" open="(" close=")" separator=",">
           #{
   id}
        </foreach>
    </select>
  • 测试

在这里插入图片描述

/*业务:查询id号为1,2,4,5,7的数据*/
    @Test
    public void findUserL(){
   
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        UserMapper2 userMapper2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值