出现的错误
插入的参数
// 组装查询条件
HePage<AbnormalDataVo> hePage = new HePage<AbnormalDataVo>(dto.getPage(), dto.getLimit());
hePage.getParamsMap().put("end", IotUtils.getTimeString(end));
hePage.getParamsMap().put("mn", dto.getMn());
hePage.getParamsMap().put("start", IotUtils.getTimeString(start));
hePage.getParamsMap().put("tableName",
""+user.getUnitCode()+"_"+
CommonUtils.stringToLocalDateTime(dto.getEnd()).getYear()+"_"+
dto.getMn()+"_lot_ehs_data");
HePage<AbnormalDataVo> getAbnormalData = enIotProMapper.getAbnormalDataList(hePage);
xml sql语句
<select id="getAbnormalDataList"
resultType="com.cqhhh.facade.enterprise.eniot.iotpro.pojo.vo.AbnormalDataVo">
SELECT
a.id,
a.DateTime as dataTime,
a.Avg,
a.Flag as status,
b.name as pollutant
FROM
#{paramsMap.tableName} as a
LEFT JOIN sys_label_poll_factor b ON a.pollution_num = b.`code`
WHERE
a.status = 1
AND a.DateTime >= #{paramsMap.start}
AND a.DateTime <= #{paramsMap.end}
ORDER BY a.DateTime DESC
</select>
错误原因是由于表名属于固定因数的用$表示而非条件的#表示
<select id="getAbnormalDataList"
resultType="com.cqhhh.facade.enterprise.eniot.iotpro.pojo.vo.AbnormalDataVo">
SELECT
a.id,
a.DateTime as dataTime,
a.Avg,
a.Flag as status,
b.name as pollutant
FROM
${paramsMap.tableName} as a
LEFT JOIN sys_label_poll_factor b ON a.pollution_num = b.`code`
WHERE
a.status = 1
AND a.DateTime >= #{paramsMap.start}
AND a.DateTime <= #{paramsMap.end}
ORDER BY a.DateTime DESC
</select>
最后结果