首页 > 数据库 >动态sql(foreach)用法

动态sql(foreach)用法

时间:2022-11-11 15:36:56浏览次数:37  
标签:resource name sequence nbr 用法 project equipment foreach sql

<select id="getProjectEquipment" resultType="com.yeejoin.amos.boot.module.ugp.api.dto.ProjectResourceDto">
    SELECT
    equipment.name ,
    equipment.`code`,
    equipment.type ,
    equipment.manufacturer,
    equipment.manufacture_date ,
    equipment.service_life,
    equipment.verify_status,
    equipment.sequence_nbr,
    project.`name` AS projectName
    FROM tz_ugp_project_resource resource
    LEFT JOIN tz_ugp_project AS project ON project.sequence_nbr = resource.project_id
    LEFT JOIN tz_ugp_equipment AS equipment ON equipment.sequence_nbr = resource.resource_id
    <where>
        resource.type = #{type}
        <if test="projectResourceDto !=null">
            <if test="projectResourceDto.name !=null and projectResourceDto.name != ''">
                and equipment.`name` LIKE CONCAT("%",#{projectResourceDto.name},"%")
            </if>
            <if test="projectResourceDto.projectName !=null and projectResourceDto.projectName != ''">
                and project.`name` LIKE CONCAT("%",#{projectResourceDto.projectName},"%")
            </if>
        </if>
        <if test="codes !=null">
            AND resource.project_id in
            <foreach collection="codes" item="item" index="index" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
    </where>
</select>
Set<String> codes = new HashSet<>();
 codes.add(xxxxxx);

 

标签:resource,name,sequence,nbr,用法,project,equipment,foreach,sql
From: https://www.cnblogs.com/LLW521/p/16880582.html

相关文章

  • MySQL-sql_mode=only_full_group_by解决方式
    报错问题:SQLSyntaxErrorException:Expression#1ofSELECTlistisnotinGROUPBYclauseandcontainsnonaggregatedcolumn'selad.id'whichisnotfunctionally......
  • Mysql数据库函数-单行函数
    一.单行函数:可以理解为向函数传入一个参数,返回一个值。单行函数是指对每一题记录输入值进行计算,并得到相应的计算结果,然后返回给用户,也就是说,每条记录作为一个输入参数,经......
  • .net ElasticSearch-Sql 扩展类【原创】
    ElasticSearch-Sql.net类库(sdk)1)支持将查询结果转换成datatable形式,便于界面绑定和数据导出等。2)代码简单易懂,便于改进并提高稳定性和性能。(拷贝立即......
  • docker安装mysql8
    1、问题描述docker安装mysql8,记录下;2、问题说明2.1查看下目前服务器镜像dockerimages2.1拉取最新mysql,5.8版本dockerpullmysql2.3run,构建容器命令:docker......
  • SQLSERVER 使用PIVOT、UNPIVOT实现行转列与列转行!!!
    原文链接:https://www.cnblogs.com/wypd/archive/2022/05/07/16242851.html一、使用PIVOT实现行转列1、首先创建一个学生表CREATETABLE[dbo].[Students](   ......
  • sql把查出来的多条数据拼接成一段字符串输出
    通过一个函数把查出来的多条数据拼接成一段字符串如:表USER     姓名      班级Id  UserName  ClassId 1    小红       3 2    小强  ......
  • sql触发器(insert,update,delete)
    --insert触发器createtriggertri_insertonstudent  --将要进行更改的表名forinsert  --给表插入一条数据的时候触发asdeclare@student_idchar(10) --定义一个......
  • sql查询二级分类按照字符串排序
    1.函数解释len()是用来计算字符串长度left()是用来截取指定部分的字符串2.sql语句:select id,pid from tborderbycase    whenpid=0thenleft('00000',5-len(id)......
  • 【MySQL(二十一)】binlog 事件
    binlog时机事务提交时写入binlog,但是binlog持久化到磁盘与sync_binlog参数有关:0:只fwrite写入操作系统cache,由操作系统决定什么时候持久化到磁盘,及fsync;1:fsync直接写入磁盘;n:......
  • 记录工作中 查询相同 ID下某一列全部相同的 sql 语句
    https://blog.csdn.net/weixin_36432451/article/details/113614517    SELECT*FROMwo_permitGROUPBYwo_idHAVINGGROUP_CONCAT(DISTIN......