关于Mybatis的@param注解及多个传参

 更新时间:2023年05月20日 08:32:58   作者:不放糖的苦咖啡  
这篇文章主要介绍了关于Mybatis的@param注解及多个传参,@Param的作用就是给参数命名,比如在mapper里面某方法A(int id),当添加注解后A(@Param(“userId”) int id),也就是说外部想要取出传入的id值,只需要取它的参数名userId就可以了,需要的朋友可以参考下

1. Mybatis的@param注解

自定义对象也用@param注解
注:使用@param注解,mapper.xml 不加parameterType。

2. Mybatis 传入多个参数,解决方案

(1) 顺序传参法

public User selectUser(String name, int deptId);
<select id="selectUser" resultMap="UserResultMap">
	select * from user
	where user_name = #{0} and dept_id=#{};
</select>

说明: #{} 里面的数字代表传入参数的顺序 注:这种方式不建议使用,sql层表达不够直观,并不清楚参数名称,一旦顺序调整就会容易出错。

(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>

说明:#{} 里面的名称对应的是注解@Param括号中里面修饰的名称,这种方式比较直观,在参数比较少的情况下还是可以推荐使用的。

(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>

说明:#{} 里面名称对应的是Map里面的key 名称 这种方式适合传递多个参数,且参数易便能灵活传递的情况。

(4) Java Bean 传参数

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>

说明: #{} 里面的名称对应的是User类里面的成员属性,这种方式比较直观,但需要一个实体类,需要加属性。

到此这篇关于关于Mybatis的@param注解及多个传参的文章就介绍到这了,更多相关Mybatis的@param注解传参内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • javaweb中Filter(过滤器)的常见应用

    javaweb中Filter(过滤器)的常见应用

    这篇文章主要介绍了javaweb中Filter的常见应用,过滤器的使用方法,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • MyBatis-Plus解决逻辑删除与唯一索引的问题

    MyBatis-Plus解决逻辑删除与唯一索引的问题

    本文主要介绍了MyBatis-Plus解决逻辑删除与唯一索引的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Java老手该当心的13个错误

    Java老手该当心的13个错误

    这篇文章主要介绍了Java老手该当心的13个错误,需要的朋友可以参考下
    2015-04-04
  • SpringBoot原理之自动配置机制详解

    SpringBoot原理之自动配置机制详解

    Springboot遵循“约定优于配置”的原则,使用注解对一些常规的配置项做默认配置,减少或不使用xml配置,让你的项目快速运行起来,下面这篇文章主要给大家介绍了关于SpringBoot原理之自动配置机制的相关资料,需要的朋友可以参考下
    2021-11-11
  • Java对日期Date类进行加减运算、年份加减月份加减、时间差等等

    Java对日期Date类进行加减运算、年份加减月份加减、时间差等等

    这篇文章主要介绍了Java对日期Date类进行加减运算、年份加减月份加减、时间差等等,在网上查阅资料,加上自己总结的一些关于Date类的工具类
    2017-01-01
  • struts中动态方法调用使用通配符

    struts中动态方法调用使用通配符

    这篇文章主要介绍了struts中动态方法调用使用通配符的相关资料,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-09-09
  • SpringBoot项目整合Redis教程详解

    SpringBoot项目整合Redis教程详解

    这篇文章主要介绍了SpringBoot项目整合Redis教程详解,Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。感兴趣的小伙伴可以参考阅读本文
    2023-03-03
  • java在cmd中乱码的问题解决

    java在cmd中乱码的问题解决

    本文深入探讨了在使用Java命令行cmd时可能出现的中文乱码问题,并提供了两种解决方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • swing登录注册界面设计

    swing登录注册界面设计

    这篇文章主要为大家详细介绍了swing登录注册界面的设计方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • SpringBoot整合MP通过Redis实现二级缓存方式

    SpringBoot整合MP通过Redis实现二级缓存方式

    这篇文章主要介绍了SpringBoot整合MP通过Redis实现二级缓存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01

最新评论