Mybatis传递多个参数的解决办法(三种)

 更新时间:2016年05月31日 15:06:58   投稿:mrr  
这篇文章主要介绍了Mybatis传递多个参数的解决办法(三种),个人觉得第三种解决办法比较好用,有需要的朋友一起学习吧

小编给大家分享三种方案解决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> 

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

以上所述是小编给大家介绍的Mybatis传递多个参数的解决办法,希望对大家有所帮助!

相关文章

  • 详解SpringBoot如何创建自定义Starter

    详解SpringBoot如何创建自定义Starter

    Spring Boot的自动配置机制为开发人员提供了一种轻松集成和配置各种功能的便捷方式,本文将深入探讨在Spring Boot中如何创建自定义Starter,为构建模块化且易维护的应用提供有力的支持,需要的朋友可以参考下
    2024-02-02
  • Java线程让步_动力节点Java学院整理

    Java线程让步_动力节点Java学院整理

    yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权。下面通过本文给大家介绍Java线程让步的相关知识,需要的朋友参考下吧
    2017-05-05
  • jsp、struts、spring、mybatis实现前端页面功能模块化拆分的方案

    jsp、struts、spring、mybatis实现前端页面功能模块化拆分的方案

    这篇文章主要介绍了 jsp、struts、spring、mybatis实现前端页面功能模块化拆分的方案,非常不错,需要的朋友参考下
    2017-01-01
  • SpringBoot-JWT生成Token和拦截器的使用(访问受限资源)

    SpringBoot-JWT生成Token和拦截器的使用(访问受限资源)

    本文主要介绍了SpringBoot-JWT生成Token和拦截器的使用(访问受限资源),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • java中charAt()方法的使用及说明

    java中charAt()方法的使用及说明

    这篇文章主要介绍了java中charAt()方法的使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Java中的JetCache 实战

    Java中的JetCache 实战

    这篇文章主要介绍了Java中的JetCache实战,JetCache是一个基于Java的缓存系统封装,提供统一的API和注解来简化缓存的使用,下文更多相关资料需要的小伙伴可以参考一下
    2022-04-04
  • SpringBoot时间格式化的方法小结

    SpringBoot时间格式化的方法小结

    SpringBoot中的时间格式化通常指的是将Java中的日期时间类型转换为指定格式的字符串,或者将字符串类型的时间解析为Java中的日期时间类型,本文小编将给大家详细总结了SpringBoot时间格式化的方法,刚兴趣的小伙伴跟着小编一起来看看吧
    2023-10-10
  • MyBatis简介与配置MyBatis+Spring+MySql的方法

    MyBatis简介与配置MyBatis+Spring+MySql的方法

    MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。这篇文章主要介绍了MyBatis简介与配置MyBatis+Spring+MySql的方法,需要的朋友可以参考下
    2017-04-04
  • SWT(JFace)Group(分组显示)

    SWT(JFace)Group(分组显示)

    SWT(JFace)体验之Group(分组显示)
    2009-06-06
  • JDK1.8中ArrayList是如何扩容的

    JDK1.8中ArrayList是如何扩容的

    本文基于此出发讲解ArrayList的扩容机制,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12

最新评论