Mybatis使用Map作为参数或返回值进行查询

  • Post author:
  • Post category:其他




Mybatis使用Map作为参数或返回值进行查询




1.

使用map作为参数进行SQL查询


在工作中我们可能会遇到一种情况,那就是不希望创建对象,但是需要传递多个参数进行sql查询,此时我们就要用到map集合作为载体来传递参数。

在Service层中我们要创建一个map集合,然后将自己需要的内容放入集合中

创建集合

我们创建的是HashMap集合,这里我们简单说一下HashMap与TreeMap的区别:

	1.hashMap是无序的,TreeMap是有序的
	2.hashMap允许一个null值作为key,可以有多个null值作value;TreeMap不允许有null值作为key,但是可以有多个null值作为value。
	3.hashMap的增删改查速度相对快,TreeMap的相对慢
	4.hashMap的占用空间相对大,TreeMap的占用空间相对小

这里我们使用hashMap。

下面我们在DAO层的接口文件中写一个查询方法,括号内为我们的参数map

查询方法的接口

下面我们要在Mapper.xml文件中创建一个与接口方法相对应的方法

mapper文件代码




2.1 使用map作为返回值类型接收数据

以Map作为返回值类型接收数据,返回的每一条数据都会成为一个Map集合


使用方法为:


不能使用单纯Map集合作为返回值类型,因为返回值是多条,所以要用List接收

以Map集合列表为返回值

在Mapper文件中定义resultType = “

java.util.Map



定义resultType


2.2在map中常用的方法


1.循环遍历map集合

循环遍历map集合

2.得到map集合中对应key的value

得到对应key的value

3.是否包含某指定key

是否包含key

4.是否包含某指定value

是否包含value

5.map集合是否与另一对象相同(

要注意属性的位置不能错



是否与零一对象相同

这就是mybatis中map集合的基本使用



版权声明:本文为weixin_49290171原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。