目录
映射泛型为对象
xml
<resultMap id="internetDataDTO" type="com.mdm.skr.mdm_common.dto.StrategyInternetDataDTO">
<id property="id" column="id" jdbcType="INTEGER"/>
<result property="internetData" column="internet_data" jdbcType="INTEGER"/>
<collection property="userList" ofType="com.mdm.skr.mdm_common.entity.SysUser">
<id property="id" column="id" jdbcType="INTEGER"/>
<result property="number" column="number" jdbcType="VARCHAR"/>
<result property="pushToken" column="push_token" jdbcType="VARCHAR"/>
<result property="wsChannelId" column="ws_channel_id" jdbcType="VARCHAR"/>
</collection>
</resultMap>
<select id="selectInternetDataDTOByInternetDataIdList" resultMap="internetDataDTO">
SELECT sidu.id, sidu.internet_data, su.id, su.number, su.push_token, su.ws_channel_id
FROM strategy_internet_data_user sidu JOIN skr_user su on su.id = sidu.user_id
WHERE sidu.id IN
<foreach collection="internetDataIdList" open="(" close=")"
separator="," item="internetDataId">
#{internetDataId}
</foreach>
</select>
DTO
@Data
public class StrategyInternetDataDTO {
private Integer id ;
private Integer internetData ;
private List<SysUser> userList ;
}
ENTITY
@Data
public class SysUser {
private Integer id;
private String number;
private String pushToken;
private String wsChannelId ;
}
MAPPER
List<StrategyInternetDataDTO> selectInternetDataDTOByInternetDataIdList(@Param("internetDataIdList") List<Integer> internetDataIdList);
映射泛型为包装类型
xml
<resultMap id="internetDataDTO" type="com.mdm.skr.mdm_common.dto.StrategyInternetDataDTO">
<id property="id" column="id" jdbcType="INTEGER"/>
<result property="internetData" column="internet_data" jdbcType="INTEGER"/>
<collection property="userIdList" ofType="java.lang.Integer" javaType="java.util.List">
<result column="userId"/>
</collection>
</resultMap>
<select id="selectInternetDataDTOByInternetDataIdList" resultMap="internetDataDTO">
SELECT sidu.id, sidu.internet_data, sidu.user_id userId
FROM strategy_internet_data_user sidu
WHERE sidu.id IN
<foreach collection="internetDataIdList" open="(" close=")"
separator="," item="internetDataId">
#{internetDataId}
</foreach>
</select>
DTO
@Data
public class StrategyInternetDataDTO {
private Integer id ;
private Integer internetData ;
private List<Integer> userIdList ;
}
MAPPER
List<StrategyInternetDataDTO> selectInternetDataDTOByInternetDataIdList(@Param("internetDataIdList") List<Integer> internetDataIdList);
对你有帮助的话,右上角给个赞呗~