国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

mybatis 異常:org.apache.ibatis.binding.BindingException

2019-11-08 02:30:35
字體:
供稿:網(wǎng)友

異常

org.mybatis.sPRing.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'seckillId' not found. Available parameters are [1, 0, param1, param2]

分析

異常的大概意思就是,mapper方法的參數(shù)綁定異常,然后看看我的mapper.xml和mapper.java文件:

SuccessKilled queryByIdWithSeckill(long seckillId, long userPhone); <insert id="insertSuccessKilled"> INSERT ignore INTO success_killed(seckill_id,user_phone,state) VALUES (#{seckillId},#{userPhone},0) </insert>

這個(gè)異常的產(chǎn)生原因是因?yàn)椋?dāng)mapper接口方法有多個(gè)參數(shù)時(shí),java不會(huì)保存行參的記錄,java在運(yùn)行的時(shí)候會(huì)把方法中的參數(shù)(long seckillId, long userPhone)變成這樣:(int arg0,int arg1),這樣我們就沒有辦法去傳遞多個(gè)參數(shù)(注意,在多個(gè)參數(shù)時(shí)才會(huì)發(fā)生)

解決

需要在mapper接口中指定參數(shù)名稱:

SuccessKilled queryByIdWithSeckill(@Param("seckillId")long seckillId, @Param("userPhone") long userPhone);

這樣才能使我們的MyBatis識(shí)別offset和limit兩個(gè)參數(shù),將Dao層方法中的這兩個(gè)參數(shù)與xml映射文件中sql語(yǔ)句的傳入?yún)?shù)完成映射


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 固镇县| 商丘市| 桓台县| 吴忠市| 阜平县| 平谷区| 娄烦县| 商河县| 梁河县| 泸州市| 中方县| 五指山市| 尼勒克县| 多伦县| 阿克苏市| 屯留县| 岗巴县| 秀山| 都匀市| 梁河县| 灯塔市| 阳西县| 涿鹿县| 桑植县| 昌图县| 江山市| 郴州市| 锦屏县| 五原县| 武安市| 无锡市| 乐安县| 房产| 双柏县| 赞皇县| 饶平县| 阿克苏市| 博客| 临汾市| 大丰市| 西华县|