详解Mybatis多参数传递入参四种处理方式
作者:禹奕晗 发布时间:2022-12-27 15:18:20
标签:Mybatis,多参数,传递
1.利用参数出现的顺序
利用mapper.xml
<select id="MutiParameter" resultType="com.jt.mybatis.entity.User">
select * from user where id = #{param1} and username = #{param2}
</select>
利用mybatis注解方式(sql语句比较简单时推荐此方式)
@Select("select * from user where id = #{arg0} and username = #{arg1}")
User MutiParameter(int id,String username);
参数出现顺序可以用arg0…到argn也可以用param1到param n设置表示第一个参数到第n个参数的位置
例子中arg0和param1表示第一个参数id,arg1和param2表示第二个参数
2.使用注解需要使用到mybatis @Param注解
利用mapper.xml
<select id="MutiParameter" resultType="com.jt.mybatis.entity.User">
select * from user where id = #{id} and username = #{username}
</select>
利用mybatis注解方式(sql语句比较简单时推荐此方式)
@Select("select * from user where id = #{id} and username = #{username}")
User MutiParameter(@Param("id")int id,@Param("username")String username);
@Param注解放在接口方法的前面@Param(“内容”)里面的内容和我们sql语句里面#{内容}里面的内容需要一致才能查找到
3.使用map 需要map的键和#{内容}里面的内容一致
利用mapper.xml
<select id="MutiParameter" resultType="com.jt.mybatis.entity.User">
select * from user where id = #{id} and username = #{username}
</select>
利用mybatis注解方式(sql语句比较简单时推荐此方式)
@Select("select * from user where id = #{id} and username = #{username}")
User MutiParameter(Map<String, Object> params);
测试方法
@Test
public void testMutiParameter(){
AuthorityMapper mapper = session.getMapper(AuthorityMapper.class);
Map<String, Object> params = new HashMap<String, Object>();
params.put("id", 2);
params.put("username", "admin");
mapper.MutiParameter(params);
}
4.把参数封装在Javabean中
利用mapper.xml
<select id="MutiParameter" resultType="com.jt.mybatis.entity.User">
select * from user where id = #{id} and username = #{username}
</select>
利用mybatis注解方式(sql语句比较简单时推荐此方式)
@Select("select * from user where id = #{id} and username = #{username}")
User MutiParameter(User user);
测试方法
@Test
public void testMutiParameter(){
AuthorityMapper mapper = session.getMapper(AuthorityMapper.class);
User user = new User();
user.setId(2);
user.setUsername("admin");
mapper.MutiParameter(user );
}
需要User的字段跟查询的#{内容}里面的内容一致
来源:https://blog.csdn.net/yu2875592987/article/details/106043970


猜你喜欢
- 本文实例为大家分享了Java实现五子棋的具体代码,供大家参考,具体内容如下任务概述:五子棋是全国智力运动会竞技项目之一,是一种两人对弈的纯策
- 前言Feign是Netflix开源的声明式HTTP客户端,致力于让编写http client更加简单,Feign可以通过声明接口自动构造请求
- 本篇概览在检测人脸数量、位置、性别、口罩等场景时,可以考虑使用百度开放平台提供的web接口,一个web请求就能完成检测得到结果,本篇记录了从
- 本示例演示如何通过设置Intent对象的标记,来改变当前任务堆栈中既存的Activity的顺序。1. Intent对象的Activity启动
- 最近因为项目需要,自己实现了个可以自由移动,并且长按可以跳出一个控制播放的,大的悬浮窗。好,开始吧。首先我们先聊权限,悬浮窗需要在manif
- 一、获取程序集版本 程序代码 label版本.Text = System.Reflection.Assembly.GetExecutingA
- 本文以一个简单实例讲述了C#实现自定义双击事件的方法,分享给大家供大家参考之用。具体方法如下:主要功能代码如下:public partial
- 本文实例讲述了Android开发实现判断通知栏是否打开及前往设置页面的方法。分享给大家供大家参考,具体如下:项目中用到日程提醒功能,如果应用
- Java IO 转化流乱码引起转换流读取乱码读取电脑磁盘上的Java.txt文件内容,文件路径: e:\Java\Java.txt
- 背景最近对于 Java 多线程做了一段时间的学习,笔者一直认为,学习东西就是要应用到实际的业务需求中的。否则要么无法深入理解,要么硬生生地套
- 一、Intent的用途Intent主要有以下几种重要用途: 1. 启动Activity:可以将Intent对象传递给startActivit
- SpringMVC重定向model值的获取1、步骤一:在控制器中编写/*重定向测试*/@RequestMapping("/m1/t
- public void ProcessRequest (HttpContext context) { &n
- 目录登陆界面的实现登陆界面代码Login类login的监听类 LoginListener聊天界面运行图Client类代码Server代码登陆
- 我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再
- 本文实例为大家分享了Java操作MongoDB模糊查询和分页查询,供大家参考,具体内容如下模糊查询条件:1、完全匹配Pattern patt
- 1、什么是GradleGradle是一种结合了Ant和Maven两者优势的下一代构建工具,既有Ant构建灵活性的优点,也保留Maven约定优
- 这一篇我们说说Java线程Thread的interrupt中断机制。中断线程线程的thread.interrupt()方法是中断线程,将会设
- 本文实例讲述了C#编程调用Cards.dll实现图形化发牌功能。分享给大家供大家参考,具体如下:using System;using Sys
- 前言链表是一种动态的数据结构,因为在创建链表时,不需要知道链表的长度,只需要对指针进行操作。1. 节点的创建 链表的节点包括两部分,分别是: