鍍金池/ 問答/Java/ mybatis中,寫的mapper為啥多了兩個(gè)引號(hào)?

mybatis中,寫的mapper為啥多了兩個(gè)引號(hào)?

圖片描述

圖片描述

回答
編輯回答
心悲涼

#{}會(huì)自動(dòng)將傳入?yún)?shù)用''包裹,你的參數(shù)num本身就有'',所以是你看到的現(xiàn)象;
如果不想自動(dòng)加引號(hào)可以用${}

2018年9月5日 20:20
編輯回答
愛礙唉

limit #{0} 實(shí)在是看不懂
另外你num是字符串啊.

2017年9月17日 06:22
編輯回答
遲月

你num 本身里面帶著一對(duì)引號(hào),

2017年1月10日 10:11
編輯回答
幼梔

可以試試:

service層可以修改成:num轉(zhuǎn)成int

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

dao層改成:指定參數(shù)名稱

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

xml改成:指定參數(shù)名稱和類型

    <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>
2017年11月1日 06:03