Mybatis?入?yún)㈩?lèi)型方式全面詳解
Mybatis 入?yún)⒎绞?/h2>
單個(gè)基本類(lèi)型或 String 參數(shù)
在 mapper 文件中隨便寫(xiě)
<select id="" resultMap="resultMap">
select * from USER_INFO t where t.name = #{sdfa,jdbcType=VARCHAR}
</select>List<Student> get(String name);
單個(gè) Map 或者自定義類(lèi)型的
- 如是 Map , 那么參數(shù)各是 Map 的 key
- 如果是自定義類(lèi)型的,參數(shù)是屬性名,更確切的說(shuō)是 get 方法,例如:getName (), 那么 mapper 文件中就要寫(xiě) #{name,jdbcType=VARCHAR}
如果是單個(gè)的 Collection
參數(shù)名字就是 collection
<select id="" resultMap="resultMap">
select * from USER_INFO t where t.name in
<foreach collection="conllection" item="i" ......>
</foreach>
</select>List<Student> get(List<String> names);
如果是多個(gè)參數(shù)
可以使用 @Param ("parametername")
<select id="" resultMap="resultMap">
select * from USER_INFO t where t.name in
<foreach collection="param" item="i" ......>
</foreach>
and age = #{age,jdbcType=NUMERIC}
</select>List<Student> get(@Param("param") List<String> names,@Param("age") int age);如果不想使用 @Param,而是想直接使用接口方法參數(shù)的變量名作為 mapper 的參數(shù)名,需要增加 編譯參數(shù) -parameters, 并啟用 useActualParamName 選項(xiàng)(默認(rèn)開(kāi)啟)來(lái)編譯項(xiàng)目這里以 maven 為例
普通工程
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<target>1.8</target>
<source>1.8</source>
<parameters>true</parameters>
</configuration>
</plugin>
</plugins>
</build>springboot:
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <jvmArguments>-parameters</jvmArguments><!-- 增加這個(gè)參數(shù) --> </configuration> </plugin>
如上設(shè)置好之后 ,就可以直接用接口方法參數(shù)名作為 mapper 參數(shù)了
接口文件中:
List<ComBusinessSwitch> getSwitchByCode(String code, String orgId, String stationId);
mapper 文件中
<select id="getSwitchByCode" resultMap="BaseResultMap">
select * from SWITCH T where code = #{code,jdbcType=VARCHAR} and orgid = #{orgId,jdbcType=VARCHAR} and stationid = #{stationId,jdbcType=VARCHAR}
</select>以上就是Mybatis 入?yún)㈩?lèi)型方式全面詳解的詳細(xì)內(nèi)容,更多關(guān)于Mybatis 入?yún)⒎绞降馁Y料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringMVC+MyBatis 事務(wù)管理(實(shí)例)
本文先分析編程式注解事務(wù)和基于注解的聲明式事務(wù)。對(duì)SpringMVC+MyBatis 事務(wù)管理的相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2017-08-08
SpringBoot實(shí)現(xiàn)任意位置獲取HttpServletRequest對(duì)象
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)任意位置獲取HttpServletRequest對(duì)象,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
java中比較2個(gè)Date是不是同一天的五種實(shí)現(xiàn)方法與對(duì)比
這篇文章主要為大家詳細(xì)介紹了java中比較2個(gè)Date是不是同一天的五種實(shí)現(xiàn)方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下2026-01-01
java實(shí)現(xiàn)word轉(zhuǎn)pdf or直接生成pdf文件
這篇文章主要介紹了java實(shí)現(xiàn)word轉(zhuǎn)pdf or直接生成pdf文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
Eclipse項(xiàng)目怎么導(dǎo)入IDEA并運(yùn)行(超詳細(xì))
這篇文章主要介紹了Eclipse項(xiàng)目怎么導(dǎo)入IDEA并運(yùn)行(超詳細(xì)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
SpringBoot Mybatis多數(shù)據(jù)源配置全過(guò)程
本文詳細(xì)介紹了如何在Java項(xiàng)目中配置多數(shù)據(jù)源,包括配置文件設(shè)置、多數(shù)據(jù)源配置類(lèi)、MyBatis配置等,通過(guò)兩種不同的方式配置primary和secondary數(shù)據(jù)源,展示了如何處理Mapper接口文件和.xml文件不在同一目錄下的情況,并使用@Primary注解指定默認(rèn)數(shù)據(jù)源2025-11-11
java單鏈表實(shí)現(xiàn)書(shū)籍管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java單鏈表實(shí)現(xiàn)書(shū)籍管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
Netty分布式NioSocketChannel注冊(cè)到selector方法解析
這篇文章主要為大家介紹了Netty分布式源碼分析NioSocketChannel注冊(cè)到selector方法的解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03

