Mybatis 传入多个参数查询数据 (3种方法)

转载 2015年11月20日 16:34:07

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




第一种方案 

 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层调用

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

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


第三种方案

Dao层的函数方法
public User selectUser(@Param("userName")String name,@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层方法就知道该传什么样的参数,比较直观,个人推荐用此种方案。


转载自: http://www.2cto.com/database/201409/338155.html

MyBatis批量操作和多参数查询

1、批量添加元素session.insert(String string,Object o) [plain] view plain copy public void batch...
  • he90227
  • he90227
  • 2016年09月01日 15:31
  • 3772

Mybatis中关于如何使用多个参数(类型不同)查询的问题

在使用Mybatis时,遇到一个问题: 即要通过多个不同类型的参数来查询数据。 例如:要通过用户名和用户年龄查询用户,参数就是两个。一个是String类型,一个是int类型。在Mybatis的xm...
  • MPFLY
  • MPFLY
  • 2017年06月22日 22:00
  • 2675

mybatis学习笔记(二) 多pojo,复杂映射

现在在数据库增加两张表blog与comment ,即博客与评论表。 CREATE TABLE `blog` ( `id` int(11) NOT NULL default '0', `titl...
  • is_zhoufeng
  • is_zhoufeng
  • 2013年12月10日 00:42
  • 11843

Mybatis查询部分字段

解决问题:数据库表里面很多字段不太需要,有时只想取到里面的部分字段的值,如果重新定义 DTO 会比较麻烦。BookMapper.xml 文件中定义如下: ...
  • u014710520
  • u014710520
  • 2017年06月22日 11:20
  • 4195

深入了解MyBatis参数

相信很多人都遇到过下面这些异常:"Parameter 'xxx' not found. Available parameters are [...]"等等 不只是上面提到的这几个,我认为有很多的错误都...
  • isea533
  • isea533
  • 2015年03月02日 09:36
  • 122586

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

第一种方案  DAO层的函数方法  Public User selectUser(String name,String area);    对应的Mapper.xml select...
  • guicaizhou
  • guicaizhou
  • 2016年10月18日 16:30
  • 5298

MyBatis传多个参数的3种方法

Mybatis传多个参数的方法 一、#{参数索引} 1.        DAO层 Mapper接口类 User logon(String user_name,Stringpassword);...
  • qq_28174471
  • qq_28174471
  • 2016年09月19日 13:50
  • 1580

mybatis 关联查询 含有集合的嵌套查询 并传多个参数

mybatis 关联查询 含有集合的嵌套查询 并传多个参数
  • wangxy799
  • wangxy799
  • 2015年12月02日 11:11
  • 1535

Mybatis 传入多个参数的方法

1.由于是多参数那么就不能使用parameterType, 改用#{index}是第几个就用第几个的索引,索引从0开始 UPDATE ams_user SET log...
  • shi1451042748
  • shi1451042748
  • 2016年06月29日 21:50
  • 7323

Mybatis 多条件查询(模糊查询 使用in查询)

Mybatis支持多个条件的查询,使用if标签拼接。 下面是三个条件的查询得例子,使用的数据库是mysql,用到了模糊查询及in做条件查询。 xml文件: s...
  • liangwenmail
  • liangwenmail
  • 2015年12月17日 20:18
  • 15765
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mybatis 传入多个参数查询数据 (3种方法)
举报原因:
原因补充:

(最多只允许输入30个字)