mybatis方法传入多参数
通常mybatis mapper接口的方法传递多个参数需要通过@Param注解指明参数匹配的sql参数,如下图:
或者是将参数封装成一个普通Java对象或一个散列表,直接将对象,散列表作为方法参数传入,通过对象的名或者散列表的key在mapper xml文件中与sql参数进行匹配。
对于使用jdk8与MyBatis3.4.1或以上的码农来说可能有福音了,下面介绍如何在传递多参数的时候省去@Param注解。
1:去掉mapper接口方法形参的Param注解
2:编写sql,sql占位符的参数名与函数形参名一致,这点非常重要。
3:maven指明编译后生成的class文件保留方法原生的参数名,而不是类似老版本javac那样编译成var1这样毫无语义的参数名。
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.5.1</version><configuration><source>1.8</source><compilerArgument>-parameters</compilerArgument><target>1.8</target></configuration>
</plugin>
4:配置配置文件添加mybatis.configuration.use-actual-param-name=true 这个我使用的mybatis版本是默认开启的。
5:运行,结果如下:
mybatis具体参数匹配代码实现如下,总的优先级就是先查Param注解,没有Param注解就匹配参数名,再就是按参数先后顺序:
如果经过上述配置还是不成功,可以检查下生成的class文件的参数名是否被修改。
mybatis方法传入多参数相关推荐
- SSM项目调用Dao层查询方法传入正确参数但查不到数据
2021年2月17日 2用户登录业务层调用Dao层的查询方法后返回的结果不是预期结果,预期结果为执行方法传入正确参数后查询得到查询结果封装的User对象的List集合,实际结果为传入正确参数执行方法后 ...
- Mybatis的增删改查操作(包含动态代理,动态SQL标签,缓存,#与$的使用传入多参数,获取自增id等基本操作)
我是在idea中创建的项目 首先项目大致目录:其中UserMapperImpl和UserTest是多余的,当做纪念所以没有删除. User pojo类: package com.ljh.pojo;pu ...
- Mybatis中如何传入map参数呢?
转自: Mybatis中如何传入map参数呢? 下文笔者讲述Mybatis的xml中使用map参数的方法分享,如下所示 实现思路:1.将参数类型设置为map2.在xml中直接使用map的键值获取参数即 ...
- mybatis的dao向mapper.xml传入多参数
https://www.cnblogs.com/super-chao/p/7722411.html 1.如果两种不同类型的参数传入,parameterType可以不写,直接获取#{0},#{1}就可以 ...
- MyBatis注解模式取参数方法
2019独角兽企业重金招聘Python工程师标准>>> @Select("select count(*) from (select id from patrol_host ...
- c++ 传入动态参数_一文了解Mybatis中动态SQL的实现
一.动态SQL简介 MyBatis的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦.拼接的时候要确保不能忘了必要的 ...
- java怎么传入参数到方法当中_java中方法传入参数时:值传递还是址传递?
JAVA中的数据类型有两大类型: ① 基本数据类型:逻辑型(boolean).文本型(char).整数型(byte.short.int.long).浮点型(float.double) ② 引用数据类型 ...
- MyBatis多个接口参数报错:Available parameters are [0, 1, param1, param2], 及解决方法
MyBatis多个接口参数报错:Available parameters are [0, 1, param1, param2], 及解决方法 参考文章: (1)MyBatis多个接口参数报错:Avai ...
- Mybatis 动态传入order by 参数排序无效
Mybatis 动态传入order by 参数排序无效 一.背景 2019年4月14日,下午5点半,今天周末,但依旧加点调程序,补补丁.遇到这个坑,耗了我一会,我也很无奈啊,还好当时就解决了,特此记录 ...
最新文章
- vim插件的安装方式 -- vim注释插件和doxygen函数注释生成插件-ctrlp插件-tabular等号对齐 插件...
- 干货 | 携程基于Quasar协程的NIO实践
- C#使用RSA加密解密文件
- python爬取数据
- 解决Chrome调用IE弹出cmd黑窗口的问题
- js DOM——JS学习笔记2015-7-2(第73天)
- IBM T61 键盘没有反映。
- STM32F103:一.(3)IO方向
- 介质簇结构不正确_电动蝶阀的结构特征以及优点,值得看完
- iOS NSString的常用用法
- 广东工业大学通信原理复习笔记第七章数字信号的调制传输(思维导图)含链接和习题
- 仿花生日记淘宝客双端原生APP网站源码
- 家庭网关斐讯 K3 基础环境篇
- 旧iPhone手机钱包中公交卡 银行卡 转移到新手机iPhone11上
- 机器学习基础 2:矩阵乘法以及求导
- 关于如何职业规划和选择换工作
- 气候制度的转变和森林的丧失放大了亚马逊森林的火灾
- java deflate_[Java]关于Deflate、GZip格式网页的解压
- Python数据可视化——散点图
- 推荐关于PX4 ECL EKF方程推导的两篇“宝藏“文章
热门文章
- 奇怪吸引子---LuChen
- R语言学习笔记 (入门知识)
- [z]IE6各种不兼容问题
- JSP中getParameter和getAttribute区别
- Xib/Storyboard碰到不同版本的Xcode真是想死啊!
- php图片缩略图的方法,php生成图片缩略图的方法
- python查询mysql表名字动态日期_Python之路day11作业-MySQL表查询
- 点对点信道互连以太网实验_以太网防雷器通讯参数测试(二)——防雷器对高速链路影响的参数...
- cmd 220 ftp 远程主机关闭连接_针对一些弱口令漏洞的解决办法——设置远程管理登录的配置...
- down redis集群_Redis总结(十)redis集群-哨兵模式