1. 程式人生 > >mybatis框架ReflectionException: There is no getter for property named 'XXX'解決

mybatis框架ReflectionException: There is no getter for property named 'XXX'解決

         今天執行新增方法時,遇到了如標題所示的錯誤,去網上大致搜了一圈,並不是一樣的情況,在確定實體類裡有get方法,及拼寫無錯誤後,當我把欄位xxx_xx下劃線都給實體類屬性保持一致後,可以運行了.

         但是,接著我發現我已經在mybatis的配置檔案中加了駝峰轉化了,並不需要把實體類的屬性加上下劃線才對,畢竟這不符合java經典的命名規範.

 <!-- 開啟駝峰命名轉換 從資料庫列名 A_COLUMN 到經典 Java 屬性名 aColumn 的類似對映-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>

           最後發現,只需要將#{xxxx}和實體類屬性名保持一致即可,最開始的時候報錯是因為我設定了birthDay屬性,而對映檔案中,我寫的是#{birthday}..在這裡,是區分大小寫的,需要保持一致.

    <insert id="addHomeMember" parameterType="Home">
        insert into tbl_member(id,name,birthday,motto,open_id,phone,familyCode,avatarUrl,home_id,age)
        values(#{id}, #{name},#{birthDay},#{motto},#{openId},#{phone},#{familyCode},#{avatarUrl},#{homeId},#{age})
    </insert>