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.一对一查询有用户和订单两个表...

mybatis的一对多和多对多查询

一对多和多对多的关系我是以你平时买东西为例子的,一个用户对应多个订单,一个订单对应多个订单明细,一个订单明细对应一个商品,根据这些关系来进行实例演示。实例演示 一对多(一个订单对应多个订单明细) 1...

myBatis如何返回count(*)得到的int值

今天遇到一问题,之前好好的系统,现在不管查询什么,都会报错:Result map does not contain a value for java.lang.Integer 仔细想想,报错的地方的代...

MyBatis主流程分析之(三)-准备SQL语句和参数替换、执行

在 MyBatis主流程分析之(二)-打开会话和数据库操作 中我们只讲了一个主流程,没有深入了解mybatis是如何准备sql语句,如何替换参数,最后查询,新增和删除数据的。这里再补充一下,深入了解。...

MyBatis 入门(二)--用接口方式访问数据库

一、建立接口 UserMapper.javapublic interface UserMapper { public List getAllUser(); public User ge...

使用MyBatis操作数据库连接

这篇文章是接我上篇文章改写的,最好结合上一篇文章一起阅读一.MyBatis环境搭建1.第一个问题当然是导包下载地址:https://github.com/mybatis/mybatis-3/relea...

遍历Map的四种方法

public static void main(String[] args) {   Map map = new HashMap();   map.put("1", "value1");  ...

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

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

MyBatis传入多个参数的问题的解决方法

转自:http://www.cnblogs.com/mingyue1818/p/3714162.html 一、单个参数: public ListXXBean> getXXB...

SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。

SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。 Join 和 Key 有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行 join...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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