There is no getter for property named in 'class java.lang.String'

來源:互聯網
上載者:User

標籤:no-getter   for-proper   string   

前言:很不幸,也遇到了“There is no getter for property named in ‘class java.lang.String’”錯誤,度娘了一下,找到了很多篇一致的文章,但其說法有待商榷,不過也給了我一些借鑒意義。

別人種樹

看看There is no getter for property named ‘**’ in ‘class java.lang.String這篇文章,裡面說

發現不能將參數設為bean裡的名稱,如果傳入類型為String類型,則參數需統一修改為[_parameter],修改後的sql語句如下(不管你的參數是什麼,都要改成”_parameter”)

其實不然,不是說
<select id="getRiskMember" resultMap="BaseResultMap" parameterType="String">
這樣的語句,在xml中參數都必須是“_parameter”。

我來乘涼

來看看我的論證

<select id="getMoneyTransferByAttr1" parameterType="String" resultMap="BaseResultMap">        <include refid="selectMoneyTransfer" />        and attr1 = #{attr1}    </select>

這樣的寫法,在運行時也完全沒有問題,注意parameterType=”String”、and attr1 = #{attr1}。

那麼什麼情況下會發生“There is no getter for property named in ‘class java.lang.String’”錯誤呢?

其實是在這種情況下:

    <select id="getRiskMember" resultMap="BaseResultMap" parameterType="String">        <include refid="selectMember"/>        and safetylevel > 1        and stauts = 1        <if test="username != null">            and username = #{username}         </if>    </select>

注意看,是在if test=驗證的時候發生的 “There is no getter for property named in ‘class java.lang.String’”,而並非是and username = #{username} 的時候發生的錯誤。

當然解決辦法還是“noku_ln10”博主說的,改成一下這種情況就OK了

    <select id="getRiskMember" resultMap="BaseResultMap" parameterType="String">        <include refid="selectMember"/>        and safetylevel > 1        and stauts = 1        <if test="_parameter != null">            and username = #{username}         </if>    </select>

著作權聲明:本站部落格均為qing_gee原創文章,若您需要引用、轉載,只需要註明來源及原文連結即可。

There is no getter for property named in 'class java.lang.String'

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.