關(guān)于Mybatis的@param注解及多個傳參
1. Mybatis的@param注解
自定義對象也用@param注解
注:使用@param注解,mapper.xml 不加parameterType。
2. Mybatis 傳入多個參數(shù),解決方案
(1) 順序傳參法
public User selectUser(String name, int deptId);
<select id="selectUser" resultMap="UserResultMap">
select * from user
where user_name = #{0} and dept_id=#{};
</select>說明: #{} 里面的數(shù)字代表傳入?yún)?shù)的順序 注:這種方式不建議使用,sql層表達(dá)不夠直觀,并不清楚參數(shù)名稱,一旦順序調(diào)整就會容易出錯。
(2) @Param 注解傳參法
public User selectUser(@param("userName")String name, @param("userArea") String userArea);
<select id="**" resultMap="**">
select * from user_user_t where username = #{userName} and userarea= #{userArea};
</select>說明:#{} 里面的名稱對應(yīng)的是注解@Param括號中里面修飾的名稱,這種方式比較直觀,在參數(shù)比較少的情況下還是可以推薦使用的。
(3) Map 傳參法
public User slectUser(Map<String, Object> param);
<select id="selectUser" parameterType="java.util.Map", resultMap="UserResultMap">
select * from user
where user_name=#{userName} and dept_id=#{deptId};
</select>說明:#{} 里面名稱對應(yīng)的是Map里面的key 名稱 這種方式適合傳遞多個參數(shù),且參數(shù)易便能靈活傳遞的情況。
(4) Java Bean 傳參數(shù)
public User slectUser(Map<String, Object> param);
<select id="selectUser" parameterType="com.test.User", resultMap="UserResultMap">
select * from user
where user_name=#{userName} and dept_id=#{deptId};
</select>說明: #{} 里面的名稱對應(yīng)的是User類里面的成員屬性,這種方式比較直觀,但需要一個實體類,需要加屬性。
到此這篇關(guān)于關(guān)于Mybatis的@param注解及多個傳參的文章就介紹到這了,更多相關(guān)Mybatis的@param注解傳參內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot項目編寫發(fā)送異常日志到企微工具包的操作方法
本文介紹了Springboot項目如何編寫發(fā)送異常日志到企業(yè)微信的工具包,內(nèi)容包括創(chuàng)建基礎(chǔ)Bean、配置類、pom依賴等步驟,并展示了如何通過nacos進行配置,這為開發(fā)者提供了一種有效的日志管理方案,方便快速定位和處理項目中的異常問題,感興趣的朋友跟隨小編一起看看吧2024-09-09
Java入門學(xué)習(xí)之環(huán)境變量與程序運行原理詳解
Java是一種廣泛使用的面向?qū)ο缶幊陶Z言,具有跨平臺、可移植性和安全性等特點,這篇文章主要介紹了Java入門學(xué)習(xí)之環(huán)境變量與程序運行原理的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-07-07
java線程池:獲取運行線程數(shù)并控制線程啟動速度的方法
下面小編就為大家?guī)硪黄猨ava線程池:獲取運行線程數(shù)并控制線程啟動速度的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
Spring數(shù)據(jù)源及配置文件數(shù)據(jù)加密實現(xiàn)過程詳解
這篇文章主要介紹了Spring數(shù)據(jù)源及配置文件數(shù)據(jù)加密實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05
Java設(shè)計模式以虹貓藍(lán)兔的故事講解代理模式
代理模式是Java常見的設(shè)計模式之一。所謂代理模式是指客戶端并不直接調(diào)用實際的對象,而是通過調(diào)用代理,來間接的調(diào)用實際的對象2022-04-04
MybatisPlus字段類型轉(zhuǎn)換的實現(xiàn)示例
本文主要介紹了MybatisPlus如何完成字段類型轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03

