美文网首页MyBatis
MyBatis 中 in 连接条件语法

MyBatis 中 in 连接条件语法

作者: 思念_似水流年 | 来源:发表于2021-11-02 08:50 被阅读0次

需求:
条件语句中需要查询 user_id 字段在一个指定范围内,DAO 文件中可以使用如下传值:

List<UserProjectDto> selectUserProjectDtosByUserIds(@Param("userIds") List<Integer> userIds);

Mapper.xml 文件中使用传参如下:

<select id="selectUserProjectDtosByUserIds" resultMap="UserProjectDto">
        SELECT
            up.*,
            p.id p_id,
            p.name p_name,
            p.description p_description,
            p.platform p_platform,
            p.creator_uid p_creator_uid,
            p.create_time p_create_time
        FROM
            user_project up
            JOIN project p ON up.project_id = p.id
        WHERE
            up.user_id IN
            <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
                #{userId}
            </foreach>
    </select>

通过 <foreach> 标签将传参指定用(,)连接起来
执行结果如下:
up.user_id IN ( ? , ? )
传参:Parameters: 3(Integer), 1(Integer)

foreach 的主要属性有:item,index,collection,open,separator,close。

item:指定集合中每一个元素进行迭代时的别名;
index:指定一个名字,用于表示在迭代过程中,每次迭代到的位置,可以不指定;
collection:指定迭代的集合;
open:指定该语句以什么字符开始;
separator:指定在每个迭代元素之间以什么符号作为分隔符;
close:指定该语句以什么字符结束。

相关文章

  • MyBatis 中 in 连接条件语法

    需求:条件语句中需要查询 user_id 字段在一个指定范围内,DAO 文件中可以使用如下传值: Mapper.x...

  • mybatis(二)

    整体介绍 mybatis中的连接池以及事务控制mybatis中连接池使用及分析mybatis事务控制分析 myba...

  • mybatis

    mybatis 高级映射 一对一 一对多 mybatis generator 的使用 多个条件 or 连接查询 但...

  • SSM框架mybatis深入了解(二)

    一、mybatis中的连接池及事务控制 1.mybatis中的连接池使用及分析 1.1 连接池简介连接池是创建和...

  • SQL99语法

    /*语法:select 查询列表from 表1 别名 【连接类型】join 表2 别名on 连接条件【where ...

  • p79SQL-多表查询-join

    join 语法: 与之前的多表查询相比,将连接条件放在了on后面,而之前的多表查询将筛选条件和连接条件都放在了 w...

  • MyBatis缓存

    MyBatis Mybatis笔记连载上篇连接Mybatis简单操作学习 Mybatis笔记连载下篇连接Mybat...

  • Mybatis动态SQL

    MyBatis Mybatis笔记连载上篇连接MyBatis缓存Mybatis笔记连载下篇连接 动态SQL 动态S...

  • Mybatis提高

    数据库连接池 Mybatis中数据源的配置 Mybatis中获取DataSourceMyBatis通过DataSo...

  • 2019-05-16多表查询和事务操作

    内连接 隐式内连接 看不到Join关键字,条件使用where指定 语法:select 列名,列名...from 表...

网友评论

    本文标题:MyBatis 中 in 连接条件语法

    本文链接:https://www.haomeiwen.com/subject/wirxzltx.html