日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

param注解报错_mybatis不加@Parm注解报错的解决方案

發布時間:2024/7/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 param注解报错_mybatis不加@Parm注解报错的解决方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我的idea版本2017.3.4,低版本貌似不會加上這個配置,idea高版本會

補充知識:Mybatis傳多個參數的問題 及MyBatis報錯 Parameter '0' not found. Available parameters are [arg1, arg0, param1 問題

對于使用Mybatis ,傳多個參數,我們可以使用對象封裝外,還可以直接傳遞參數

對象的封裝,例如查詢對象條件basequery對象

select

from pd_product

and game_type_coding = #{gameCode}

and goods_type_id = #{goodsTypeId}

and account_id = #{accId}

and del_flag = #{delFlag}

limit #{start},#{rows}

直接傳遞參數

例如:

mapper方法

selectByGameIdAndGoodsTypeId(Long gameTypeId, Long goodsTypeId);

對應的xml文件方法:

select

from pd_game_goods_type_mid

where game_type_id = #{gameTypeId} AND goods_type_id = #{goodsTypeId}

第一:在select標簽后就不再使用parameterType,因為這個標簽只能指定一個參數,而兩個參數及以上的,則不用再使用

第二:在sql語句里面以上的寫法是錯誤的(為了演示執行報錯)

會報錯

Parameter '0' not found. Available parameters are [arg1, arg0, param1, param2]

注意這里使用的mybatis的版本號

在MyBatis3.4.4版不能直接使用#{0}要使用 #{arg0}

0是指參數的索引,從0開始。第一個參數是0,第二個參數是1,依次類推

以下正確的寫法:

select

from pd_game_goods_type_mid

where game_type_id = #{arg0} AND goods_type_id = #{arg1}

第三種:

select

from pd_game_goods_type_mid

where game_type_id = #{gameTypeId} AND goods_type_id = #{goodsTypeId}

剛剛說這樣的會報錯。解決辦法,更改mapper方法

加上@Param注解

selectByGameIdAndGoodsTypeId(@Param("gameTypeId")Long gameTypeId, @Param("goodsTypeId") Long goodsTypeId)

以上這篇mybatis不加@Parm注解報錯的解決方案就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

總結

以上是生活随笔為你收集整理的param注解报错_mybatis不加@Parm注解报错的解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。