mybatis association 多参数查询

1,223 阅读1分钟
  • resultMap

        <association column="STR_ID=B2,VIN=B3" property="dataList" select="selectSql"></association>

  • 其中column是键值对形式,中间用,分割,值为当前sql中的值,键为关联sql中的参数

  • 当前sql

       SELECT
            s.`NAME`,
            s.`LEVEL`,
			s.`BUSINESS_ID` as B2,  //B2 B3为需要进行关联查询的参数值
			#{vin} as B3
        FROM
            b_ev_fleet_structure s
        WHERE
            s.EV_FLEET_ID = #{evFleetId}
        AND s.`LEVEL` = 2
        AND s.flag = 1
        AND s.del_flag = 0
        ORDER BY
            s.ORDER_NUM
  • 关联sql

//parameterType的java.util.Map
    <select id="queryByPid" parameterType="java.util.Map"  
 resultMap="QueryByEvFleetIdWithListResultMap">
        SELECT
            s.`NAME`,
            s.`LEVEL`,
            s.`BUSINESS_ID` as B1,
			s.`BUSINESS_ID` as B2,
			#{VIN} as B3  //VIN 为关联sql中的参数名
        FROM
            b_ev_fleet_structure s
        WHERE
         s.`LEVEL` = 3
        AND s.`PID` = #{PID}
        AND s.flag = 1
        AND s.del_flag = 0
        ORDER BY
        s.ORDER_NUM
    </select>