mapper.xml,实体类,和mapper接口都是用generator生成的。不会有问题。
我也仔细检查了一下,确实没问题。
会报这个错误的mapper.xml如下:
<select id="selectByStatisticsDate" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from pn_price_statistics
<if test="statisticsDate != null">
WHERE statistics_date like "%"#{statisticsDate}"%"
</if>
</select>
问题应该出在<if>中。以前使用if的时候,传递的参数类型为map
这次网上的解决方案:用_parameter来接收参数,正确的mapper.xml如下:
<select id="selectByStatisticsDate" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from pn_price_statistics
<if test="_parameter != null">
WHERE statistics_date like "%"#{_parameter}"%"
</if>
</select>
这个解决方案是建立在你检查过参数,确认没有拼写错误。
——在工作中发现问题,大家一起进步