真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Mybatis如何傳入多個參數(shù)

第一種方式:使用@Param注解方式

創(chuàng)新互聯(lián)主營中原網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,app軟件開發(fā)公司,中原h(huán)5微信小程序定制開發(fā)搭建,中原網(wǎng)站營銷推廣歡迎中原等地區(qū)企業(yè)咨詢

??此種方式用法是我們在接口中寫方法的參數(shù)時,在每個參數(shù)的前面加上一個@Param注解即可。

??該注解有一個value屬性,我們可以給加上注解的參數(shù)取個名字,在SQL語句中我們可以通過這個名字獲取參數(shù)值。

??由于傳入了多個參數(shù),所以映射文件的入?yún)arameterType不用寫。

??假如我們在接口的方法如下:

//根據(jù)傳入的用戶名和主鍵id去修改用戶名

int updateUserByManyParam(@Param("name")String username,@Param("id")Integer id);

??我們先在映射文件里面瞎寫看看控制臺會報什么錯誤:

//錯誤實例:

update user set username = #{name1} where id = #{oid}

??好了,看看控制臺報了什么錯:

//錯誤信息

Cause: org.apache.ibatis.binding.BindingException: Parameter 'name1' not found.

Available parameters are [name, id, param1, param2]

??從錯誤信息我們可以看到,它說找不到name1參數(shù),存在的參數(shù)有name, id, param1, param2,那么我們按照控制臺說的來就可以了。

①按照指定的參數(shù)名

update user set username = #{name} where id = #{id}

②按照參數(shù)的順序鄭州人流醫(yī)院 http://mobile.120zzzzyy.com/

update user set username = #{param1} where id = #{param2}

第二種方式:按照參數(shù)的編寫順序

??此種方式我們在傳入?yún)?shù)的時候什么都不用做就行了,只要在SQL語句中按照規(guī)則獲取參數(shù)值即可。

??假如我們在接口的方法如下:

//根據(jù)傳入的用戶名和主鍵id去修改用戶名

int updateUserByManyParam(@Param("name")String username,@Param("id")Integer id);

??我們和上面一樣,先在映射文件里面瞎寫看看控制臺會報什么錯誤:

//錯誤實例:

update user set username = #{ddd} where id = #{fff}

??好了,看看控制臺報了什么錯:

//錯誤信息:

Cause: org.apache.ibatis.binding.BindingException: Parameter 'ddd' not found.

Available parameters are [arg1, arg0, param1, param2]

??從錯誤信息我們可以看到,它說找不到ddd參數(shù),存在的參數(shù)有arg1, arg0, param1, param2,那么我們按照控制臺說的來就可以了。

①按照參數(shù)的順序

update user set username = #{arg0} where id = #{arg1}

②按照參數(shù)的順序

update user set username = #{param1} where id = #{param2}

總結(jié)

使用@Param注解方式,在SQL語句中我們可以按照自定義的名稱獲取參數(shù)值,也可以用param1、param2、…順序來獲取參數(shù)值。

直接傳入?yún)?shù),在SQL語句中按照參數(shù)傳遞的順序,利用arg1、arg2、…順序獲得對應的參數(shù)值。

直接傳入?yún)?shù),在SQL語句中按照參數(shù)傳遞的順序,利用param1、param2、…順序來獲取參數(shù)值。

注意:param后面的數(shù)字是從1開始的,而arg后面的數(shù)字是從0開始的。


本文名稱:Mybatis如何傳入多個參數(shù)
新聞來源:http://weahome.cn/article/ihjgih.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部