IllegalArgumentException:invalid comparison:MajorInfoDto and String与Parameter ‘NULL‘ not found

<if test="majorInfo != null and majorInfo != ''" >
    <if test="majorInfo.year != NULL">
        AND ND.ND = #{majorInfo.year,jdbcType=VARCHAR}
    </if>
    <if test="majorInfo.college != NULL and majorInfo.college != ''">
        AND ZYLQXX.XY = #{majorInfo.college,jdbcType=VARCHAR}
    </if>
    <if test="majorInfo.majorIdOrName != NULL and majorInfo.majorIdOrName != ''">
        AND NDXK.ZY_ID = #{majorInfo.majorIdOrName,jdbcType=VARCHAR}
        OR NDXK.ZYMC = #{majorInfo.majorIdOrName,jdbcType=VARCHAR}
    </if>
</if>

错误信息一:IllegalArgumentException: invalid comparison: MajorInfoDto and java.lang.String

Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: com.hx.dto.MajorInfoDto and java.lang.String Cause: java.lang.IllegalArgumentException: invalid comparison: com.hx.dto.MajorInfoDto and java.lang.String

错误原因:实体不可以与字符串比较

错误写法:

<if test="majorInfo != null and majorInfo != ''" >

正确写法:

<if test="majorInfo != null" >

错误信息二:Parameter ‘NULL’ not found.

Caused by: org.apache.ibatis.binding.BindingException: Parameter 'NULL' not found. Available parameters are [studentId, majorInfo, param1, param2]

错误原因:null必须小写

错误写法:

<if test="majorInfo.year != NULL">

正确写法:

<if test="majorInfo.year != null">
posted @ 2021-03-03 18:14  Huathy  阅读(7)  评论(0)    收藏  举报  来源