mybatis 一对多

public class ChemistryTankVO  implements Serializable {
    private static final long serialVersionUID = 1L;

    private Long id;
    private String tankName;
    private String tankCode;
    private List<TankValueDO> tankValueDOList;
    }
public class TankValueDO  implements Serializable {
    //报警表ID
    private  Long id;
   //设备ID
    private  Long equipmentId;
    //液位值
    private  String levels;
    //设备类型
    private  Integer  equipmenttype;
```}
 <!--根据公司ID获取旗下全部楼宇.-->
    <resultMap id="BuildingByCompanyMap" type="com.bootdo.tank.domain.ChemistryTankVO">
        <id column="ID" property="id" jdbcType="BIGINT" />
        <result column="TANK_NAME" property="tankName" jdbcType="VARCHAR" />
        <result column="TANK_CODE" property="tankCode" jdbcType="VARCHAR" />
        <collection property="tankValueDOList" javaType="java.util.ArrayList" ofType="com.bootdo.tank.domain.TankValueDO"
                    select="getTankValue" column="{id = id}" />
    </resultMap>
    <select id="getTankRealTimeValue" resultMap="BuildingByCompanyMap">
        SELECT
            ID,
            TANK_NAME,
            TANK_CODE
         FROM
         gds_tank_management
        WHERE
         CREATE_COMPANY_ID =#{companyId}//自己的条件
    </select>
  
    <select id="getTankValue" resultType="com.bootdo.tank.domain.TankValueDO">

        SELECT
            m.equipmentId,
            m.levels,
            m.equipment_type,
            MAX(m.id) id
        FROM
            (
                SELECT DISTINCT
                    equipmentId,
                    id,
                    levels,
                    equipment_type
                FROM
                    hxl_real_time_date_new
                WHERE
                    equipmentId = #{id}
                AND equipment_type IS NOT NULL
                ORDER BY
                    id DESC
            ) m
        GROUP BY
            m.equipment_type
    </select>
   
```在 column="{id = id}" 单个条件可以直接写:column=" id"
多条件 column="{id = id,name=name}"   id =id   第一个是子查询 的传入值  也就是#{值}里的值 第二个是 上级查询查出的值 id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值