mybatisplus中的xml對象參數(shù)傳遞問題
mybatisplus中的xml對象參數(shù)傳遞
如果是一般類型的參數(shù),直接把類型加上,在xml的sql中通過#{}或者${}的方式引入就行了,如果是一個java對象,在mapper的參數(shù)前面加上@Param注解,給定參數(shù)名,在xml中直接調(diào)用。
舉個栗子
下面是mapper的接口的一個方法
List<DesHistoryVo> getHistory(@Param("dto") HistoryQueryDto dto);接著在xml中調(diào)用dto對象的屬性
省略...
and supplier_id = ${dto.supplierId}
省略...在select或者是其它xml標簽中,記得填寫parameterType參數(shù)的類型,也就是全類名,直接右鍵對象,copy reference就行了。
另外,可以根據(jù)sql輸出的列,可以直接將對象轉(zhuǎn)換為給定的對象,入頁面展示需要的Vo對象,這時就需要配置resultType參數(shù),同樣,也是對象的全類名。
mybatis傳遞參數(shù)四種方式
方式一、順序傳遞參數(shù)
mapper.java文件:
public User selectUser(String name, int deptId);
mapper.xml文件:
<select id="selectUser" resultType="com.wyj.entity.po.User">
?? ?select * from user where userName = #{0} and deptId = #{1}
</select>注意:里面的數(shù)字代表你傳入?yún)?shù)的順序,不是特別建議使用這種方法傳遞參數(shù),特別是參數(shù)個數(shù)多的時候
方式二、注解@Param傳遞參數(shù)
mapper.java文件:
public User selectUser(@Param("userName") String name, int @Param("deptId") id);mapper.xml文件:
<select id="selectUser" resultType="com.wyj.entity.po.User">
?? ?select * from user where userName = #{userName} and deptId = #{deptId}
</select>注意:在xml文件中就只能以在@Param注解中聲明的參數(shù)名稱獲取參數(shù)
方式三、使用Map集合傳遞參數(shù)
mapper.java文件:
public User selectUser(Map<String, Object> params);
mapper.xml文件:
<select id="selectUser" parameterType="java.util.Map" resultType="com.wyj.entity.po.User">
?? ?select * from user where userName = #{userName} and deptId = #{deptId}
</select>方式四、使用JavaBean實體類傳遞參數(shù)
mapper.java文件:
public User selectUser(User user);
mapper.xml文件:
<select id="selectUser" parameterType="com.wyj.entity.po.User" resultType="com.wyj.entity.po.User">
?? ?select * from user where userName = #{userName} and deptId = #{deptId}
</select>以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何用Java將數(shù)據(jù)庫的數(shù)據(jù)生成pdf返回給前端用戶下載
本文詳細介紹了使用SpringBoot、iText庫、MyBatis等技術(shù)從數(shù)據(jù)庫中選取數(shù)據(jù)并生成PDF文件的后端處理流程,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-09-09
JavaCV實戰(zhàn)之調(diào)用攝像頭基礎(chǔ)詳解
這篇文章主要介紹了使用JavaCV框架對攝像頭進行各種處理的基礎(chǔ)理論詳解,文中的示例代碼講解詳細,對我們學(xué)習(xí)JavaCV有一定的幫助,需要的可以了解一下2022-01-01
Spring Boot 集成Mybatis實現(xiàn)主從(多數(shù)據(jù)源)分離方案示例
本篇文章主要介紹了Spring Boot 集成Mybatis實現(xiàn)主從(多數(shù)據(jù)源)分離方案實例,具有一定的參考價值,有興趣的可以了解一下。2017-03-03
Java?實戰(zhàn)項目之家政服務(wù)平臺系統(tǒng)的實現(xiàn)流程
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實現(xiàn)家政服務(wù)平臺系統(tǒng),大家可以在過程中查缺補漏,提升水平2021-11-11
基于springboot+jwt實現(xiàn)刷新token過程解析
這篇文章主要介紹了基于springboot+jwt實現(xiàn)刷新token過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03
springboot利用@Aspect實現(xiàn)日志工具類的詳細代碼
這篇文章主要介紹了springboot利用@Aspect實現(xiàn)日志工具類,通過實例代碼介紹了導(dǎo)包及在啟動類上進行注解自動掃描的方法,需要的朋友可以參考下2022-03-03
Http Cookie機制及Cookie的實現(xiàn)原理
Cookie是進行網(wǎng)站用戶身份,實現(xiàn)服務(wù)端Session會話持久化的一種非常好方式。Cookie最早由Netscape公司開發(fā),現(xiàn)在由 IETF 的RFC 6265標準備對其規(guī)范,已被所有主流瀏覽器所支持2021-06-06
Java獲取XML節(jié)點總結(jié)之讀取XML文檔節(jié)點的方法
下面小編就為大家?guī)硪黄狫ava獲取XML節(jié)點總結(jié)之讀取XML文檔節(jié)點的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10

