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

据我目前接触到的传多个参数的方案有三种。

第一种方案

DAO层的函数方法

?
1
Public User selectUser(String name,String area);

对应的Mapper.xml

?
1
2
3
<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层的函数方法

?
1
Public User selectUser(Map paramMap);

对应的Mapper.xml

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

Service层调用

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

个人认为此方法不够直观,见到接口方法不能直接的知道要传的参数是什么。

第三种方案

Dao层的函数方法

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

对应的Mapper.xml

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

个人觉得这种方法比较好,能让开发者看到dao层方法就知道该传什么样的参数,比较直观,个人推荐用此种方案。

转载于:https://www.cnblogs.com/liuye-micky/p/6706561.html

mybais传入多个参数的方法相关推荐

  1. main函数参数,在VS中向命令行添加参数的方法

    问题描述 使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数"-a"选项执行加法,"-s"选项执行减法,"-m"选 ...

  2. java方法的参数_Java方法参数

    Java方法参数 在程序设计语言中如何将参数传给方法(或函数): 按值调用:方法接受的是调用者提供的值 按引用调用:方法接受的是调用者提供的地址 Java程序设计语言总是采用按值调用(方法得到的是所有 ...

  3. 积神经网络的参数优化方法——调整网络结构是关键!!!你只需不停增加层,直到测试误差不再减少....

    积神经网络(CNN)的参数优化方法 from:http://blog.csdn.net/u010900574/article/details/51992156 著名: 本文是从 Michael Nie ...

  4. python 反向传值_Django中reverse反转并且传递参数的方法

    在写项目的过程中,有些函数不可避免的需要传入参数进去,所以我们在使用reverse进行反转时也需要传递参数.这个时候我们就可以使用 'reverse()' 中的 kwargs 参数了,它将传入一个字典 ...

  5. 自动装配——@Autowired 构造器,参数,方法,属性都是从容器中获取参数组件的值||自定义组件想要使用Spring容器底层的一些组件 ApplicationContext,BeanFactory

    @Autowired:构造器,参数,方法,属性:都是从容器中获取参数组件的值 * 1).[标注在方法位置]:@Bean+方法参数:参数从容器中获取;默认不写@Autowired效果是一样的:都能自动装 ...

  6. java如何构造ajax回调参数,jQuery实现ajax回调函数带入参数的方法示例

    本文实例讲述了jQuery实现ajax回调函数带入参数的方法.分享给大家供大家参考,具体如下: 不带参数的写法: function pass(htmlId,auditingFlag){ var url ...

  7. 【机器学习】算法模型自动超参数优化方法

    什么是超参数? 学习器模型中一般有两类参数,一类是可以从数据中学习估计得到,我们称为参数(Parameter).还有一类参数时无法从数据中估计,只能靠人的经验进行设计指定,我们称为超参数(Hyper ...

  8. C#线程调用带参数的方法 ~

    在 .NET Framework 2.0 版中,要实现线程调用带参数的方法有两种办法. 第一种:使用ParameterizedThreadStart. 调用 System.Threading.Thre ...

  9. mlp 参数调优_积神经网络(CNN)的参数优化方法

    积神经网络(CNN)的参数优化方法 from:http://blog.csdn.net/u010900574/article/details/51992156 著名: 本文是从 Michael Nie ...

最新文章

  1. html input日期值,input标签设置时间值
  2. 深度学习分类任务常用评估指标
  3. vsync信号产生与分发
  4. 刚刚卸任的谷歌搜索及AI负责人,被苹果挖走了
  5. igbt原理动画演示视频_IGBT的结构与工作原理 测量方法详细讲解
  6. 平安普惠系统上线申请表模板
  7. 华为服务器忘记系统密码忘了,服务器忘记密码重置
  8. 动软DBUtility类库DbHelperSQLP实现多数据库连接
  9. 风暴数码论坛教程--官方和第三方ROM的提取与分解
  10. 谷歌浏览器被hao123绑定首页了
  11. 迭代最小二乘拟合椭圆
  12. 计算机网络修复提示DNS服务器,dns的服务器故障怎么办,电脑dns异常修复了没用...
  13. 内网渗透(四十六)之横向移动篇-使用系统漏洞ms17010横向移动
  14. 将字符串转换为日期,将日期转换成指定格式的字符串
  15. 简单的学生网页作业源码 基于HTML环保主题网页项目的设计与实现——环保垃圾分类(html css javascript)
  16. python翻译成中文_Python调用有道智云文本翻译API接口实现“智能”伪原创
  17. 靠期货真的能实现财务自由么?
  18. cocos2dx背景透明处理
  19. 杜克大学计算机科学博士,杜克大学计算机科学CS博士学位申请介绍
  20. GUI 和 CLI 到底指什么?

热门文章

  1. 跨平台 获取系统信息的python库 http://support.hyperic.com/disp
  2. C#项目打包,并自动安装SQL数据库(转)
  3. 猪流感来了,我们做好准备了吗
  4. Cambridge Website in a page
  5. WHY MAKE ANOTHER APPLICATION AT ISSM?
  6. 大量网课视频学习方法升级版!生命就是一往无前和永无止境的直播!
  7. 夏天有稍微热一点的说法,但是没有冬天没有稍微冷一点的说法
  8. 关于编译GITHUB上的工程
  9. UDP/TCP测试工具
  10. onlevelwasloaded的调用时机