在Mybatis中,我们通常会像下边这样用:

  • 返回一个结果
User selectOne(User user);
<select id="selectOne"  parameterType="cn.lyn4ever.entity.User"  resultType="cn.lyn4ever.entity.User">
select id,username,telphone from user where telphone=#{telphone} and password = #{password}
</select>
  • 返回多个结果(其实这个和上边一样,只不过是查询条件的控制而已)
List<User> selectList(User user);
<select id="selectOne"  parameterType="cn.lyn4ever.entity.User"  resultType="cn.lyn4ever.entity.User">
select id,username,telphone from user
</select>

我们只要将上边的resultType改为java.util.HashMap,这会有生成下边这样

Map selectList(User user);
<select id="selectOne"  parameterType="cn.lyn4ever.entity.User"  parameterType="cn.lyn4ever.entity.User"   resultType="java.util.HashMap">
select id,username,telphone from user where telphone=#{telphone} and password = #{password}
</select>

上这结果就是说,以User类的属性名为key,属性值为value。

当然,也可以查出来多条记录,将这个Map放进List中

List<Map> selectList(User user);
<select id="selectOne"  parameterType="cn.lyn4ever.entity.User"  resultType="java.util.HashMap">
select id,username,telphone from user
</select>

但是有时候我们想要这种结果,怎么办呢?

{
"01":{
username:"zhangsan",
telphone:"13000000000"
}
}

也就是我们要自定义一个Map<String,User>,这样的话,有以下两种解决方法:

1.使用注解

@MapKey("id")
Map<String,User> getUserInMap();
<!--xml和之前写法一样-->
<select id="getUserInMap" parameterType="cn.lyn4ever.entity.User" resultType="User">
select id,username,telphone from user where telphone=#{telphone} and password = #{password}
</select>

这个@MapKey的value写的就是User对象的一个属性

2.在xml文件中写上

 HashMap<String,Object> getUserInMap();
<select id="getUserInMap" parameterType="cn.lyn4ever.entity.User"   resultType="java.util.HashMap">
SELECT id as 'key', * as 'value', id,username,telphone from user where telphone=#{telphone} and password = #{password}
</select>

当然以上这两种方法,如果查出来是多条的话也会是List的形式

Mybatis中返回Map的更多相关文章

  1. 【mybatis】mybatis中 返回map集合

    关于mybatis返回map集合的操作: 1.mapper.xml中写一个查询返回map的sql <select id="findMap" parameterType=&qu ...

  2. myBatis中使用Map进行遍历

    myBatis中使用Map获取key, value的方式 第一次的配置 <trim prefix=" tags =case" suffix="end"&g ...

  3. mybatis中的map.xml文件中sql语句需要分号吗?

    mybatis中的map.xml文件中sql语句需要分号吗? :你是说sql介绍的分号吗?不需要的

  4. MyBatis探究-----返回Map类型数据

    1.使用@MapKey @MapKey:告诉mybatis封装Map的时候使用哪个属性作为Map的key Map<K, V>:键是这条记录的主键key,值是记录封装后的javaBean 1 ...

  5. mybatis xml中返回map 参看aiwanpai

    <!-- 指定日期活动被创建次数查询结果数据集--> <resultMap id="countPlayTimesMap" type="HashMap&q ...

  6. foreach属性-动态-mybatis中使用map类型参数,其中key为列名,value为列值

    http://zhangxiong0301.iteye.com/blog/2242723 最近有个需求,就是使用mybatis时,向mysql中插入数据,其参数为map类型,map里面的key为列名, ...

  7. Mybatis 中遍历map 参数中的 list 和 array 属性

    原文:https://blog.csdn.net/liudongdong0909/article/details/51048835 问题在项目有中遇到批量删除操作时,需要根据两个属性去删除数据,其中一 ...

  8. mybatis中返回一个List字段

    目的:在一个查询接口里面,返回一个人的信息,以及这个人所携带的东西的信息,返回效果如下: { "msg": { "listMain": [ { "id ...

  9. MyBatis中返回List

    一般情况下,我们需要返回一个List 在Dao层定义: List<TbAddress> selectAll(); 那么在对应的mapper文件中,应该如下: <select id=& ...

随机推荐

  1. CCF-CSP题解 201609-3 炉石传说

    模拟. 注意随从的编号在\(summon\)和\(attack\)随从死亡时都可能改变. #include <bits/stdc++.h> using namespace std; str ...

  2. Django模型层—ORM

    目录 一.模型层(models) 1-1. 常用的字段类型 1-2. 字段参数 1-3. 自定义char字段 1-4. 外键关系 二.Django中测试脚本的使用 三.单表操作 3-1. 添加记录 3 ...

  3. MySql 5.7.28 安装注意事项

    刚好最近用到了5.7,所以顺便整理记录一下,5.7与5.6的区别是5.7不可以使用空密码直接登录 下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mys ...

  4. 使用Future

    /** * Runnable接口有个问题,它的方法没有返回值.如果任务需要一个返回结果,那么只能保存到变量,还要提供额外的方法读取,非常不便. * Java标准库还提供了一个Callable接口,和R ...

  5. 千呼万唤始出来——uFUN开发板2.0开箱评测

    前言 今年3月,我参与了面包板社区组织的第一批uFUN开发板评测活动,并有幸能获得试用机会,那是我第一次了解到uFUN这个项目及背后的故事,4月份,uFUN 2.0版本来了,收到了张工送的一块样板,后 ...

  6. skyline加载arcgis发布的wms服务

    function AddWMSLayer(LayerName) {var _WMSUrl =“http://10.0.4.141:6080/arcgis/services/poss1/MapServe ...

  7. java读取地址数据文件

    在工作中遇到读取地址文件数据: 1.读取本地文件数据(如:D:\data.txt) //适用于读取绝对地址文件 public String getData(String path) { String ...

  8. ASP.NET Core 2.x 到 3.1 迁移指南

    一.前言 今日(2019/12/4).NET Core 3.1 正式发布了,ASP.NET Core 3.1 随之发布,这次 3.0 到 3.1经过了两个月的短周期,并没有增加重大的功能,主要是对 3 ...

  9. Spring Boot2解决idea console 控制台输出乱码

    Idea默认配置是采用GBK, 而项目工程文件采用的是UTF-8. 编码不一致,导致idea Console控制台输出乱码. 网上的解决方案,大都是直接修改Settings=>Editor=&g ...

  10. How to: Implement File Data Properties 如何:实现文件数据属性

    This topic demonstrates how to implement a business class with a file data property and a file colle ...