mybatis多个参数不加@Param

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis多个参数不加@Param相关的知识,希望对你有一定的参考价值。

参考技术A mybatis 3.4.1之后,允许不加 @Param指定参数名称,自动会以入参的名称作为param key

不加 @Param 的多入参mapper

入参为: update(110, "testAppName")

useActualParamName 默认是true,如果入参没加@Param指定参数key,则会利用java8的特性,从反射类Parameter#getName()获取这个参数的名称

例如,可以maven编译插件上指定

不推荐偷懒,这种方式依赖java8的编译特性,比较隐晦,容易让其他开发混淆

mybatis 怎么获取多个参数

参考技术A 一、mybatis传递多个参数时获取
parameterType="Java.util.Map",参数依次为:param1,param2,param3.........
或者 #0,#1,#2。。。。。
二、条件判断
<where>
<if test="param1 != null and param1 != ''">
and t.kind = #param1//#号获取的是字符串,$获取的数值
</if>
<where>
传一个参数时:test中用 _parameter

匹配bean属性和表中字段
<resultMap id="tchannel" type="com.htcf.website.model.pojo.TChannel">
<result property="id" column="id" />
<result property="kind" column="kind" />
<result property="lob" column="lob" />

</resultMap>
三、特殊字符
<![CDATA[ ]]>

以上是关于mybatis多个参数不加@Param的主要内容,如果未能解决你的问题,请参考以下文章

MybatisMybatis-Plus传入多个参数的处理

Mybatis实现同时传入对象参数和字符串参数

mybatis 怎么获取多个参数

mybatis中mapper方法怎么传入多个参数值

mybatis入参有多个 多种类型

Mybatis——oracle——sql语句结尾不加;