mybatis映射異常:nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'id' in 'class java.lang.String


問題代碼:

    <select id="selectIstars" parameterType="java.lang.String" resultType="java.lang.String">
        SELECT stars FROM book
        WHERE 1 = 1
        <if test="id != null">
            AND id = #{id,jdbcType=VARCHAR}
        </if>
    </select>

這是最終定位代碼出問題的地方,多次網上參考大致理解:

單個參數和多參數的判斷有個不同點,當我們的入參為實體類,或者map的時候,使用if 參數判斷沒任何問題。

但是當我們的入參為java.lang.Integer 或者 java.lang.String的時候,這時候就需要注意一些事情了

Integer類型的入參,加上這個就可以了

#{id,jdbcType=integer}

String類型的入參就有問題了,我同樣加上了

#{id,jdbcType=VARCHAR}

依舊報錯,最后把if判斷刪掉了,解決了問題,但是依舊困惑,有大佬懂的話,麻煩指點一下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM