关于Mybatis的@param注解及多个传参
作者:不放糖的苦咖啡 发布时间:2021-09-10 21:17:21
标签:Mybatis,注解,@param,传参
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类里面的成员属性,这种方式比较直观,但需要一个实体类,需要加属性。
来源:https://blog.csdn.net/it_lxg123/article/details/117263825
0
投稿
猜你喜欢
- spring @Autowired注解无法注入问题简述在使用spring框架的过程中,常会遇到这种两情况:1、在扫描的包以外使用需要使用ma
- 我对java中lambda表达式的看法是相当纠结的:一个我这么想:lambda表达式降低了java程序的阅读体验。java程序一直不以表现力
- 一、简介Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。Spring Cache提供
- 前言作为大数据家族中的重要一员,在大数据以及海量数据存储方面,hbase具有重要的地方,本篇将从java对hbase的操作上,进行详细的说明
- 一,栈1,概念在我们软件应用 ,栈这种后进先出数据结构的应用是非常普遍的。比如你用浏 览器上网时不管什么浏览器都有 个"后退&qu
- 前言 短时间提升自己最快的手段就是背面试题,最近总结了Java常用的面试题,分享给大家,希望大家都能圆梦大厂,加油,我命由我不由天
- 介绍众所周知,AOP(面向切面编程)是Spring框架的特色功能之一。通过设置横切关注点(cross cutting concerns),A
- 一、实现原理使用MockMvc发起请求,然后执行API中相应的代码,在执行的过程中使mock模拟底层数据的返回,最后结果验证。二、常用注解介
- 声明:下面的实例全部在linux下尝试,window下未尝试。有兴趣者可以试一下。文章针c初学者。c语言的强符号和弱符号是c初学者经常容易犯
- 1. 什么是AOPAOP (Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期 * 实现在
- 文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并。很多高大上的分布式文件系统(比如:google
- 本文实例讲述了java在网页上面抓取邮件地址的方法。分享给大家供大家参考。具体实现方法如下:import java.io.BufferedR
- Spring Cloud feign GET请求无法用实体传参代码如下:@FeignClient(name = "eureka-c
- Java读取Properties文件的方法总结  
- 改了个bug,发现这个东西以前不知道,搜索了一下,看到的都是长篇大论,还谈js的源码,也是醉了。我就简单的说说这个是干啥的。简单说:就是触发
- 记得在thinkphp框架中,模型名会自动转换为对应下划线的表名,如,UserType 自动转化为user_type,在平时写程序中很多地方
- 一、问题最近在做代码重构,代码工程采用了Controller/Service/Dao分层架构,Dao层使用了Mybatis-Plus框架。在
- mybatis 传入null值解决前端传入两个值,如果其中一个为null时,很多时候我们都很困惑,明明传入的是null,为啥mybatis
- 前言:mongodb是一个基于分布式文件存储的开源数据库系统。mongodb与我们平常使用的mysql的区别: 1.
- Java语言的历程丰富多彩,被现在众多程序员和企业广泛使用,不用质疑这是Java的领先技术的结果。Java是Sun公司开发的一种编程语言,S