mybatis中,写的mapper为啥多了两个引号?

图片描述

图片描述

回答:

#{}会自动将传入参数用''包裹,你的参数num本身就有'',所以是你看到的现象;
如果不想自动加引号可以用${}

回答:

limit #{0} 实在是看不懂
另外你num是字符串啊.

回答:

你num 本身里面带着一对引号,

回答:

可以试试:

service层可以修改成:num转成int

return caseMapper.get_cases(Integer.parseInt(num),type);

dao层改成:指定参数名称

List<News> get_cases(@Param("num") int num,@Param("type") int type);

xml改成:指定参数名称和类型

    <select id="get_cases" resultType="News">

SELECT * FROM `case`

WHERE state=0 AND `type`=#{type,jdbcType=INTEGER}

ORDER BY create_time DESC limit #{num,jdbcType=INTEGER}

</select>

以上是 mybatis中,写的mapper为啥多了两个引号? 的全部内容, 来源链接: utcz.com/p/175779.html

回到顶部