Mybatis 入参类型方式全面详解

 更新时间:2023年06月02日 09:28:01   作者:Mzoro  
这篇文章主要为大家介绍了Mybatis入参的类型方式全面示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

Mybatis 入参方式

单个基本类型或 String 参数

在 mapper 文件中随便写

<select id="" resultMap="resultMap">
select * from USER_INFO t where t.name = #{sdfa,jdbcType=VARCHAR}
</select>
List<Student> get(String name);

单个 Map 或者自定义类型的

  • 如是 Map , 那么参数各是 Map 的 key
  • 如果是自定义类型的,参数是属性名,更确切的说是 get 方法,例如:getName (), 那么 mapper 文件中就要写 #{name,jdbcType=VARCHAR}

如果是单个的 Collection

参数名字就是 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);

如果是多个参数

可以使用 @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,而是想直接使用接口方法参数的变量名作为 mapper 的参数名,需要增加 编译参数 -parameters, 并启用 useActualParamName 选项(默认开启)来编译项目这里以 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><!--  增加这个参数 -->
				</configuration>
			</plugin>

如上设置好之后 ,就可以直接用接口方法参数名作为 mapper 参数了

接口文件中:

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 入参类型方式全面详解的详细内容,更多关于Mybatis 入参方式的资料请关注脚本之家其它相关文章!

相关文章

  • SpringMVC+MyBatis 事务管理(实例)

    SpringMVC+MyBatis 事务管理(实例)

    本文先分析编程式注解事务和基于注解的声明式事务。对SpringMVC+MyBatis 事务管理的相关知识感兴趣的朋友一起学习吧
    2017-08-08
  • SpringBoot实现任意位置获取HttpServletRequest对象

    SpringBoot实现任意位置获取HttpServletRequest对象

    这篇文章主要介绍了SpringBoot实现任意位置获取HttpServletRequest对象,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • java中比较2个Date是不是同一天的五种实现方法与对比

    java中比较2个Date是不是同一天的五种实现方法与对比

    这篇文章主要为大家详细介绍了java中比较2个Date是不是同一天的五种实现方法,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解一下
    2026-01-01
  • java实现word转pdf or直接生成pdf文件

    java实现word转pdf or直接生成pdf文件

    这篇文章主要介绍了java实现word转pdf or直接生成pdf文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Eclipse项目怎么导入IDEA并运行(超详细)

    Eclipse项目怎么导入IDEA并运行(超详细)

    这篇文章主要介绍了Eclipse项目怎么导入IDEA并运行(超详细),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • SpringBoot Mybatis多数据源配置全过程

    SpringBoot Mybatis多数据源配置全过程

    本文详细介绍了如何在Java项目中配置多数据源,包括配置文件设置、多数据源配置类、MyBatis配置等,通过两种不同的方式配置primary和secondary数据源,展示了如何处理Mapper接口文件和.xml文件不在同一目录下的情况,并使用@Primary注解指定默认数据源
    2025-11-11
  • Java中的泛型和泛型通配符详解

    Java中的泛型和泛型通配符详解

    这篇文章主要介绍了Java中的泛型和泛型通配符详解,泛型的作用就是在编译的时候能够检查类型安全,并且所有的强制转换都是自动和隐式的在没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,需要的朋友可以参考下
    2023-07-07
  • java单链表实现书籍管理系统

    java单链表实现书籍管理系统

    这篇文章主要为大家详细介绍了java单链表实现书籍管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Netty分布式NioSocketChannel注册到selector方法解析

    Netty分布式NioSocketChannel注册到selector方法解析

    这篇文章主要为大家介绍了Netty分布式源码分析NioSocketChannel注册到selector方法的解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • 关于spring中定时器的使用教程

    关于spring中定时器的使用教程

    大家应该都有所体会,在很多实际的web应用中,都有需要定时实现的服务,下面这篇文章主要给大家介绍了关于spring中定时器的使用教程,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06

最新评论