首页 > 其他分享 >collection标签多条件查询

collection标签多条件查询

时间:2024-02-20 16:57:05浏览次数:31  
标签:标签 collection 查询 plan 条件 model type id

场景:要查的数据在两个表,并且这个两个表为一对多关系。
eg:图片名称
以上为我最终要得到的数据实体,现在要开始查这些数据

思路:先查【一对多】中的【】这张表基本信息,其次查【】中你要进行多条件筛选的这些条件字段

代码:

1、查基本信息

<select id="selectByDeviceCode" resultMap="map">
        select distinct d.name deviceName, d.type deviceType, d.model deviceModel, p.code planCode,m.type,p.id
        from device d
                 left join plan p on p.device_type_id = d.type_id
                 left join model m on m.plan_id = p.id
        where p.del_flag = 0
        <if test="deviceCode!=null and deviceCode != ''">
          and  d.code = #{deviceCode}
        </if>
        <if test="type!=null and type != ''">
          and m.type = #{type}
        </if>
    </select>
图片名称 这里的后两个条件,则是 条件字段

2、进行映射

<resultMap id="map" type="MainDPVo">
        <id property="id" column="id"/>
        <result property="deviceName" column="deviceName"/>
        <result property="deviceType" column="deviceType"/>
        <result property="deviceModel" column="deviceModel"/>
        <result property="planCode" column="planCode"/>
        <result property="type" column="type"/>

        <collection property="modelList" column="{type=type,id=id}" javaType="java.util.ArrayList"
                    select="MaintPlanModelMapper.modelLists"/>
    </resultMap>

本文关键也在于此 : 图片名称

column里传入了多条件,这个条件在第一张图里面,我们已经查出来了。javaType里面写了list表明你有多条件

多条件用在另外一个查询

 <select id="modelLists" resultType="MaintPlanModel">
        select *
        from model
        where del_flag = 0
        <if test="type!=null and type != ''">
            and type = #{type}
        </if>
        <if test="id!=null and id != ''">
            and plan_id = #{id}
        </if>
    </select>

这个sql的路径在上一个代码块的这里写
图片名称

标签:标签,collection,查询,plan,条件,model,type,id
From: https://www.cnblogs.com/psuitj/p/17902857.html

相关文章

  • Oracle递归授权view底层依赖表查询权限存储过程
    createorreplaceproceduresys.grant_view_base_table_access(p_accessownerVARCHAR2,p_vownerVARCHAR2,p_vnameVARCHAR2)--RETURNnumberasv_accessownerVARCHAR2(200):=trim(upper(p_accessowner));v_ownerVARCHAR2(200):=trim(upper(p_vowner));v_nameVARCHAR......
  • 修改标签官网自带css——dialog
    对于标签原本自带的class类就如下图的.el-dialog__body就是自带的原dialog:现在若要更改padding值方式一(但是修改的是全局的了):<style>.el-dialog__body{padding:15px;}</style>方式二(给dialog加一个自定义类名,修改的是所有class匹配的el-dia......
  • 查询 MMDB 数据库
    importjava.io.File;importjava.net.InetAddress;importcom.fasterxml.jackson.databind.JsonNode;importcom.maxmind.db.Reader;publicclassIpDemo{publicstaticvoidmain(String[]args)throwsException{Filedatabase=newFile("re......
  • 在script标签写export为什么会抛错|type module import ES5 ES6 预处理 指令序言 JavaS
    今天我们进入到语法部分的学习。在讲解具体的语法结构之前,这一堂课我首先要给你介绍一下JavaScript语法的一些基本规则。脚本和模块首先,JavaScript有两种源文件,一种叫做脚本,一种叫做模块。这个区分是在ES6引入了模块机制开始的,在ES5和之前的版本中,就只有一种源文件类型(就......
  • ef 中无法提前使用 linq 查询的解决办法?
    ef中有如下的查询条件,在.ToList之后它可以被翻译为sql,但在.ToList之前不行,我该如何写出等价可被翻译的.Where条件?.Where(x=>selectedBookItems.Any(y=>y.BookID==x.BookID)).Where(x=>etSearchTitle.Text.Split(newString[]{""},Str......
  • 刷新后记忆上一次的查询参数、页面位置
    需求目前页面缓存机制是keep-alive,即点击之前页签,页面不刷新。这会导致:数据不是最新的,即在页签A操作数据后,点击之前打开的页签B,页签B的数据仍然是旧的。需求:再次点击页签B时,根据之前的查询参数(包括页码)、树节点、屏幕高度(下文统称为“查询数据”)刷新页面,即实现静默刷新......
  • 虚拟币行情查询转发工具
    1需求:websocket实时查询火币、币安,Okex平台的虚拟币交易价格,socket方式推送到服务器,用于服务器数据处理和交易量化websocket实时查询火币、币安,Okex平台的虚拟币交易价格,socket方式推送到服务器,用于服务器数据处理和交易量化2截图3实现过程中遇到一些问题,这里记录下......
  • arthas和日志查询整理
    序号标题内容1windows端口处理netstat-aon|findstr“端口号”tasklist|findstr“被占用端口对应的PID”taskkill/t/f/pidpid号taskkill-t-f-pid17620 Arthas常用指令查看线程:top-H-p1arthasthread-b996「-b」:发现阻塞其他线程......
  • EAS_查询某个sql在扩展报表的哪个sql数据集中
    ==========查询报表sql数据集是否包含某个表============SELECTCASEWHENDBMS_LOB.INSTR(fcontent,utl_raw.cast_to_raw('T_NT_EndorsementBillEntry'))>0THEN'found'ELSE'notFo......
  • MySQL——模糊查询
    MySQL——模糊查询语法结构:select字段名from表名where字段名(需要查询的字段)like‘’;单引号内是需要模糊查询的内容,填写内容如下:匹配任意多个字符:%匹配任意一个字符:_例如:找出名字中含有h的:selectnamefrom表名wherenamelike‘%h%’例如:找出名字第二个字......