MyBatis String類型傳遞參數注意事項


Mybatis查詢sql傳入一個字符串傳參數,報There is no getter for property named 'ids' in 'class java.lang.String'。

后來改成如下寫法,無論參數名是啥,都要改成"_parameter"

如下:

1 <select id="findByName" parameterType="string" resultType="com.domain.entity.FactoryEntity">
2     SELECT * FROM T_FACTORY WHERE F_NAME LIKE "%${_parameter}%"
3     </select>

同時對於#和$的區分應當加以區分

#{}: 解析為一個 JDBC 預編譯語句(prepared statement)的參數標記符,一個 #{ } 被解析為一個參數占位符 。

${}: 僅僅為一個純碎的 string 替換,在動態 SQL 解析階段將會進行變量替換。

  name-->cy

 eg:  select id,name,age from student where name=#{name}   -- name='cy'

       select id,name,age from student where name=${name}    -- name=cy


免責聲明!

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



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