关于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注解传参内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java中SpringBoot 自动装配的原理分析

    java中SpringBoot 自动装配的原理分析

    这篇文章主要介绍了SpringBoot 自动装配的原理分析的相关资料,需要的朋友可以参考下
    2022-12-12
  • 解决springboot整合druid遇到的坑

    解决springboot整合druid遇到的坑

    这篇文章主要介绍了解决springboot整合druid遇到的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • JavaFX如何获取ListView(列表视图)的选项

    JavaFX如何获取ListView(列表视图)的选项

    这篇文章主要介绍了JavaFX如何获取ListView(列表视图)的选项,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • springboot项目编写发送异常日志到企微工具包的操作方法

    springboot项目编写发送异常日志到企微工具包的操作方法

    本文介绍了Springboot项目如何编写发送异常日志到企业微信的工具包,内容包括创建基础Bean、配置类、pom依赖等步骤,并展示了如何通过nacos进行配置,这为开发者提供了一种有效的日志管理方案,方便快速定位和处理项目中的异常问题,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • Java如何实现可折叠Panel方法示例

    Java如何实现可折叠Panel方法示例

    这篇文章主要给大家介绍了关于利用Java如何实现可折叠Panel的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • Java入门学习之环境变量与程序运行原理详解

    Java入门学习之环境变量与程序运行原理详解

    Java是一种广泛使用的面向对象编程语言,具有跨平台、可移植性和安全性等特点,这篇文章主要介绍了Java入门学习之环境变量与程序运行原理的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-07-07
  • java线程池:获取运行线程数并控制线程启动速度的方法

    java线程池:获取运行线程数并控制线程启动速度的方法

    下面小编就为大家带来一篇java线程池:获取运行线程数并控制线程启动速度的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Spring数据源及配置文件数据加密实现过程详解

    Spring数据源及配置文件数据加密实现过程详解

    这篇文章主要介绍了Spring数据源及配置文件数据加密实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Java设计模式以虹猫蓝兔的故事讲解代理模式

    Java设计模式以虹猫蓝兔的故事讲解代理模式

    代理模式是Java常见的设计模式之一。所谓代理模式是指客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象
    2022-04-04
  • MybatisPlus字段类型转换的实现示例

    MybatisPlus字段类型转换的实现示例

    本文主要介绍了MybatisPlus如何完成字段类型转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03

最新评论