mybatisplus中的xml對(duì)象參數(shù)傳遞問(wèn)題
mybatisplus中的xml對(duì)象參數(shù)傳遞
如果是一般類型的參數(shù),直接把類型加上,在xml的sql中通過(guò)#{}或者${}的方式引入就行了,如果是一個(gè)java對(duì)象,在mapper的參數(shù)前面加上@Param注解,給定參數(shù)名,在xml中直接調(diào)用。
舉個(gè)栗子
下面是mapper的接口的一個(gè)方法
List<DesHistoryVo> getHistory(@Param("dto") HistoryQueryDto dto);
接著在xml中調(diào)用dto對(duì)象的屬性
省略... and supplier_id = ${dto.supplierId} 省略...
在select或者是其它xml標(biāo)簽中,記得填寫parameterType參數(shù)的類型,也就是全類名,直接右鍵對(duì)象,copy reference就行了。
另外,可以根據(jù)sql輸出的列,可以直接將對(duì)象轉(zhuǎn)換為給定的對(duì)象,入頁(yè)面展示需要的Vo對(duì)象,這時(shí)就需要配置resultType參數(shù),同樣,也是對(duì)象的全類名。
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ù)個(gè)數(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í)體類傳遞參數(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>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中controller層如何接收帶參數(shù)的查詢
本文主要介紹了Java中controller層如何接收帶參數(shù)的查詢,在控制器層接收帶參數(shù)的查詢可以通過(guò)多種方式實(shí)現(xiàn),下面就詳細(xì)的介紹一下,感興趣的可以了解一下2023-08-08MyBatis之foreach標(biāo)簽的用法及多種循環(huán)問(wèn)題
這篇文章主要介紹了MyBatis之foreach標(biāo)簽的用法及多種循環(huán)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Java中Boolean與字符串或者數(shù)字1和0的轉(zhuǎn)換實(shí)例
下面小編就為大家?guī)?lái)一篇Java中Boolean與字符串或者數(shù)字1和0的轉(zhuǎn)換實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07SpringMVC實(shí)現(xiàn)表單驗(yàn)證功能詳解
這篇文章主要為大家詳細(xì)介紹了SpringMVC 表單驗(yàn)證的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10Java實(shí)現(xiàn)Excel百萬(wàn)級(jí)數(shù)據(jù)導(dǎo)入功能的示例代碼
這篇文章主要為大家詳細(xì)介紹了Java如何實(shí)現(xiàn)Excel百萬(wàn)級(jí)數(shù)據(jù)導(dǎo)入功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考下2024-04-04@PathVariable、@RequestParam和@RequestBody的區(qū)別
本文主要介紹了@PathVariable、@RequestParam和@RequestBody的區(qū)別和使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05