Mybatis传多个参数(三种解决方案)

第一种方案 

DAO层的函数方法 

Public User selectUser(String name,String area);

对应的Mapper.xml 

<select id="selectUser" resultMap="BaseResultMap">
     select  *  from user_user_t   where user_name = #{0} and user_area=#{1}
</select>

其中,#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数,更多参数一致往后加即可。

第二种方案

此方法采用Map传多参数.

Dao层的函数方法

Public User selectUser(Map paramMap);

对应的Mapper.xml

<select id=" selectUser" resultMap="BaseResultMap">
     select  *  from user_user_t   where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR}
</select>

Service层调用

Private User xxxSelectUser(){
Map paramMap=new hashMap();
paramMap.put(“userName”,”对应具体的参数值”);
paramMap.put(“userArea”,”对应具体的参数值”);
User user=xxx. selectUser(paramMap);}

第三种方案

   Dao层的函数方法

Public User selectUser(@param(“userName”)Stringname,@param(“userArea”)String area);

   对应的Mapper.xml

<select id=" selectUser" resultMap="BaseResultMap">
   select  *  from user_user_t   where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR}
</select> 
时间: 2024-10-29 03:35:18

Mybatis传多个参数(三种解决方案)的相关文章

Java中实现文件上传下载的三种解决方案(推荐)_java

java文件上传与文件下载是程序开发中比较常见的功能,下面通过本文给大家介绍Java中实现文件上传下载的三种解决方案,具体详情如下所示: 第一点:Java代码实现文件上传 FormFile file=manform.getFile(); String newfileName = null; String newpathname=null; String fileAddre="/numUp"; try { InputStream stream = file.getInputStream(

MathType试用期到了的三种解决方案

  MathType试用期到了的三种解决方案         方案一.直接使用精简版 30天的试用期过了,到时MathType只能运行精简模式(如下图所示),如果你平时不常用该软件,只是偶尔用来编辑一些简单的公式,这里就不需要购买永久版了,但是这里真的不得不说精简版少了好多东西,对于理科工作者来说真的是不够用的. 精简模式的MathType示例 方案二.到期重装系统 如果MathType的试用期到了,有的人为了不去购买永久版,想出重装电脑系统的方法,此方法虽然可行,但是如果你的电脑里资料很多,反

三种解决方案帮助大家处理Windows 7软件兼容问题

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   目前Windows 7 的兼容性工作仍集中于一般消费市场,在行业应用方面还没有被更多触及.那么当软件遇到兼容问题时该怎么处理,让问题软件能良好的在Windows 7 中运行. 本篇提供三种解决方案,应该能在一定程度上帮助大家处理软件兼容问题. 方法一 自动兼容性解决方案 1. 右键将要运行的软件,点击"Troubleshoot compatibilit

Windows环境下MySQL5.7中文显示乱码的三种解决方案

最近在将数据从Oracle迁移到MySQL的过程中,遇到一些问题,其中就包括中文字符显示乱码. 数据导入成功之后,中文字段内容无法正常显示.后来才发现客户端的字符集设置是对的,服务器端的字符集设置不支持中文字符. 后来经过测试发现,我们可以通过三种方法解决这个问题,按照从低到高的级别分别是: 表级 数据库级 服务器级 1.测试环境 Windows Server 2008 r2+MySQL Community Server (GPL) 5.7.16  我是在Windows Server 2008

WinXP系统任务栏不显示打开窗口的三种解决方案

  解决方案一: 有一种情况是打开的窗口任务栏不显示,包括任务栏也看不到.但是鼠标点击过去又能正常显示,这是因为设置了任务栏自动隐藏导致的. 1.找到任务栏,右键.属性. 如下图: 2.打开任务栏属性,找到常规里面的"自动隐藏任务栏"选项 ,把前面的那个勾去掉即可. 解决方案二: 由于桌面进程出错.重启计算机,或注销重新登录即可恢复正常,如果您有正在进行的任务不方便重启或注销,可以通过下面方法重置桌面进程. 步骤如下: 1.找到任务栏,右键"任务管理器"如果是XP系

Docker 解决容器时间与主机时间不一致的问题三种解决方案_docker

Docker容器时间与主机时间不一致 通过date命令查看时间 查看主机时间 [root@localhost ~]# date 2016年 07月 27日 星期三 22:42:44 CST 查看容器时间 root@b43340ecf5ef:/#date Wed Jul 27 14:43:31 UTC 2016 可以发现,他们相隔了8小时. CST应该是指(China Shanghai Time,东八区时间) UTC应该是指(Coordinated Universal Time,标准时间) 所以,

结构体类型数据作为函数参数(三种方法)_C 语言

(1)用结构体变量名作为参数. 复制代码 代码如下: #include<iostream>#include<string>using namespace std;struct Student{ string name; int score; };int main(){ Student one; void Print(Student one); one.name="千手"; one.score=99; Print(one); cout<<one.nam

js异步加载的三种解决方案_javascript技巧

默认情况javascript是同步加载的,也就是javascript的加载时阻塞的,后面的元素要等待javascript加载完毕后才能进行再加载,对于一些意义不是很大的javascript,如果放在页头会导致加载很慢的话,是会严重影响用户体验的. (1) defer,只支持IE defer属性的定义和用法(我摘自w3school网站) defer 属性规定是否对脚本执行进行延迟,直到页面加载为止. 有的 javascript 脚本 document.write 方法来创建当前的文档内容,其他脚本

笔记本升级SSD的三种方案

  和台式机相比,大家对于笔记本性能的要求相对低一些,那么在升级笔记本硬盘的过程中是追求性能还是大容量,或是两者结合呢?小编将拿出三种解决方案与大家探讨. 针对不同需求的用户群体,我们将笔记本升级方案大致总结为以下三种: 1.机械硬盘更换大容量SSD; 2.机械硬盘移至光驱位,SSD加装至原有机械位; 3.M.2 SSD搭配机械硬盘(或SSD). 三个解决方案各有什么样的优势与缺点,我们将在后文中一一解答. [方案一:大容量] 什么才是大容量SSD? 现阶段当属480GB或512GB以上的SSD