楼主是一个Java小白想要把常见的错误信息放在一起,希望大家别见笑。
问题一:关于mybatis 对于时间参数的一个小bug,不能使用 != " " 去判断,否则会报类型错误:Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
<update id="updateEyOrderDetailEduTimeById" parameterType="EyOrderDetail">
update ey_order_detail
<trim prefix="SET" suffixOverrides=",">
<if test="eduTime != null and eduTime !=''"> edu_time = #{eduTime},</if>
</trim>
where id = #{id}
</update>
// 由于上面判断 and eduTime !='' 导致出入过来的 Date 数据类型一直报错
通过查询,mybatis 的数据类型 Date 是不能使用 空来判断的,只能使用 null。
调整为:
<update id="updateEyOrderDetailEduTimeById" parameterType="EyOrderDetail">
update ey_order_detail
<trim prefix="SET" suffixOverrides=",">
<if test="eduTime != null"> edu_time = #{eduTime},</if>
</trim>
where id = #{id}
</update>