MyBatis Mapper接受参数的四种方式代码解析
作者:Esrevinud的笔记 发布时间:2021-09-05 19:28:27
标签:MyBatis,Mapper,参数
这篇文章主要介绍了MyBatis Mapper接受参数的四种方式代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
对于单个参数而言,可以直接写#{param},这里的占位符名称没有限制,反正就一个参数一个占位符,不需要指定名称
对于多个参数,有常用的四种方式
根据位置排序号
public interface UserDao {
public Integer addUser(String username, String password);
}
对应mapper文件中的片段
<insert id="addUser">
<!-- 按照参数位置从param1开始排序 -->
insert into users(username, password) values(#{param1}, #{param2})
</insert>
POJO对象传入
public interface UserDao {
public Integer addUser(String username, String password);
}
对应mapper文件中的片段
<insert id="addUser">
<!-- 根据属性名访问数据 -->
insert into users(username, password) values(#{username}, #{password})
</insert>
Map对象传入
public interface UserDao {
// mapper中#{}则通过map中的key访问
public Integer addUser(Map<String, Object> map);
}
对应mapper文件中的片段
<insert id="addUser">
insert into users(username, password) values(#{username}, #{password})
</insert>
@Param注解(Map对象的另一种形式)
public interface UserDao {
// 注解中的值就是map的key
public Integer addUser(@Param("name")String username, @Param("word")String password);
}
对应mapper文件中的片段
<insert id="addUser">
insert into users(username, password) values(#{name}, #{word})
</insert>
来源:https://www.cnblogs.com/esrevinud/p/12296780.html


猜你喜欢
- IO流代码:void LoadByIO() { float time = Time.t
- 位运算 位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指
- 一.字符串函数1. 求字符串长度的strlensize_t strlen ( const char * str );字符串以 ‘\0'
- 目录一、首先模型本身需要特殊处理二、编写Shader三、讲解先上图看看效果:下面详细分享一下制作步骤吧:一、首先模型本身需要特殊处理二、编写
- 先说明一下,项目代码已上传至github,不想看长篇大论的也可以先去下代码,对照代码,哪里不懂点哪里。代码在这https://github.
- 使用Scroller实现绚丽的ListView左右滑动删除Item效果这里来给大家带来使用Scroller的小例子,同时也能用来帮助初步解除
- 上一篇《Android 自定义View(一) Paint、Rect、Canvas介绍》讲了最基础的如何自定义一个View,以及View用到的
- springMVC项目中实现图形验证码功能,可以使用kaptcha来实现,下面是步骤一、引入架包,pom.xml<dependency
- 一. 异常的定义在《Java编程思想》中这样定义 异常:阻止当前方法或作用域继续执行的问题。虽然java中有异常处理机制,但是要明确一点,决
- 1.user实体package com.demo.dto;public class User { private Integer
- 这个是jdk1.5以后才引入的新的内容,作为秉承发表是最好的记忆,毅然决定还是用一篇博客来代替我的记忆: java语言规范中说道:在许多情况
- 由于要在Web项目中采用RFID读取功能,所以有必要开发Activex,一般情况下开发Activex都采用VC,VB等,但对这两块不是很熟悉
- java 枚举的功能挺多,但是坑更多,使用的时候要注意。如下面这个枚举。@Getter@AllArgsConstructorpublic e
- 内存泄露内存泄漏就是在当前应用周期内不再使用的对象被GC Roots引用,导致不能回收,使实际可使用内存变小,通俗点讲,就是无法回收无用对象
- 在 Android 的一些界面中,有时候我们需要为一副图片生成大小为 n * n 的缩略图,有时候需要的缩略图特殊一些,比如:1、带圆角的缩
- Android中广播(BroadcastReceiver)的详细讲解.1. BroadcastReceiver的注册过程: (1).广播消息
- 配置事务: 使用的tx前缀的标签, 导入tx的命名空间配置事务管理器 , 把事务管理器交给Spring管理:<bean id=&quo
- 当你使用synchronized关键字的时候,是通过互斥器来保障线程安全以及对共享资源的同步访问。线程间也经常需要更进一步的协调
- 前言Future的问题写多线程程序的时候,可以使用Future从一个异步线程中拿到结果,但是如果使用过程中会发现一些问题:如果想要对Futu
- 问题使用Runtime调用python脚本一直没有结果,经排查是因为 cv2 的 import 问题java代码:python代码:在导入c