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文件中创建一个与接口方法相对应的方法
2.1 使用map作为返回值类型接收数据
以Map作为返回值类型接收数据,返回的每一条数据都会成为一个Map集合
使用方法为:
不能使用单纯Map集合作为返回值类型,因为返回值是多条,所以要用List接收
在Mapper文件中定义resultType = “java.util.Map”
2.2在map中常用的方法
1.循环遍历map集合
2.得到map集合中对应key的value
3.是否包含某指定key
4.是否包含某指定value
5.map集合是否与另一对象相同(要注意属性的位置不能错)
这就是mybatis中map集合的基本使用