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

posted @ 2017-07-27 16:30  XuMinzhe  阅读(13587)  评论(2编辑  收藏  举报