当前使用版本(必填,否则不予处理)
3.4.3 3.4.3.4也同样有问题
该问题是如何引起的?(确定最新版也有问题再提!!!)
Page
log.debug(pendingWrapper.getCustomSqlSegment()); log打印出来内容如下 WHERE (((FILED1 = #{ew.paramNameValuePairs.MPGENVAL1} AND FILED2 <> #{ew.paramNameValuePairs.MPGENVAL2}) OR (FILED3 = #{ew.paramNameValuePairs.MPGENVAL3} AND ((FILED4 IS NULL OR LENGTH(FILED4) = #{ew.paramNameValuePairs.MPGENVAL4})) AND (FILED5 IN (#{ew.paramNameValuePairs.MPGENVAL5}) OR FILED6 IN (#{ew.paramNameValuePairs.MPGENVAL6})))) AND FILED7 NOT IN (#{ew.paramNameValuePairs.MPGENVAL7})) 看到日志中#{ew.paramNameValuePairs.MPGENVAL1} 应该是取值的时候还是用的默认的ew来取值,所以取不到,希望官方修复一下,可以使用自定义的key来取值
重现步骤(如果有就写完整)
mapper使用多个条件构造器作为入参 如下
@Select("select a. from " +
"(select i., 1 AS PENDING, l.CREATE_TIME operate_time " +
"from (SELECT * FROM table1 ${pendingWrapper.customSqlSegment}) i " +
"left join (select order_id,CREATE_TIME from table2 where id in " +
"(select max(id) from table2 group by order_id)) l on i.ID=l.f_id " +
"union " +
"select i.*, 0 AS PENDING, max(l.CREATE_TIME) operate_time " +
"from table1 i " +
"left join table2 l on i.id = l.f_id " +
"${alreadyWrapper.customSqlSegment}) a " +
"${ew.customSqlSegment}")
Page
报错信息
获取到的参数全都为null
Parameters: null, null, null, null, null, null, null, null