在使用mybatis时,写了一条sql语句,只有一个String类型的参数, 示例代码
<select id="getApplyNum" parameterType="java.lang.String" resultType="java.util.Map"> SELECT t.activity_id AS "activityId", COUNT(1) AS "count" FROM t_user t WHERE t.activity_id IN (${ids}) GROUP BY t.activity_id </select>
Mybatis查询sql传入一个字符串传参数,报There is no getter for property named 'ids' in 'class java.lang.String'。
后来改成如下写法,无论参数名是啥,都要改成"_parameter"。问题解决。
<select id="getApplyNum" parameterType="java.lang.String" resultType="java.util.Map"> SELECT t.activity_id AS "activityId", COUNT(1) AS "count" FROM t_user t WHERE t.activity_id IN (${_parameter}) GROUP BY t.activity_id </select>
本文介绍在MyBatis中使用字符串参数时遇到的问题及解决方案。通过调整SQL语句中的参数名称,从ids改为_parameter,解决了Thereisnogetterforpropertynamed'ids'in'classjava.lang.String'的错误。
381

被折叠的 条评论
为什么被折叠?



