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