mybatis返回的map结果如何设置有序

目录
  • mybatis返回的map结果设置有序
  • mybatis中查询的结果有序展示
    • 1、分析为啥结果是乱序
    • 2、修改
      • 补充

mybatis返回的map结果设置有序

mybatis返回的map结果设置有序(与查询的域顺序一致)

<select id="exoprtGoods" resultType="java.util.HashMap">

这样的情况下是无排序的

想要按着查询的顺序来的话

换成

<select id="exoprtGoods" resultType="java.util.LinkedHashMap">

mybatis中查询的结果有序展示

如何把mybatis中sql查询的结果按照自己定义的resultMap有序展示?

1、分析为啥结果是乱序

先看下图:

第一张为select语句,resultType是本项目封装的一个类

第二张为resultMap语句,type也是本项目封装的一个类

第三张是本项目封装的一个类,可以看到继承了HashMap

通过上图可以分析出,HashMap存取数据大多是无序的,那么关键点找出来了。

要想查询出来的结果有序,替换HashMap为LinkedHashMap

2、修改

因为PageData本项目封装类其他地方也使用到了,因此这里只更改xml里面的

  • 更改resultType为 java.util.LinkedHashMap
  • 更改typeype为 java.util.LinkedHashMap

补充

HashMap:

  • HashMap是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。
  • HashMap最多只允许一条记录的键为Null;
  • 允许多条记录的值为 Null;
  • HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap;
  • 可能会导致数据的不一致。

LinkedHashMap:

LinkedHashMap也是一个HashMap,但是内部维持了一个双向链表,可以保持顺序

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Mybatis中返回Map的实现

    在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=#{telpho

  • MyBatis查询返回Map示例代码

    前言 有时候我们做查询, 只需要返回两个string类型的字段,方便我们后续的处理.比如根据商品的code查询对应的分类的名字,需要返回一个map, key为商品code, value为商品分类对应的名称.以方便我们后续对结果集的处理.如果你直接用mybatis返回一个map, 你可能会发现,结果根据不是自己需要的.这时候我们需要自己实现一个ResultHandler来实现我们想要的结果,废话不多说,直接上代码 方法如下 第一步,在mapper.xml文件当中,定义一个ResultMap <re

  • Mybatis返回结果封装map过程解析

    需求 根据课程id 列表,查询每个课程id的总数,放到一个map里 最简单的就是循环遍历,每一个都查询一次 网上说mybatis可以返回Map 和 List<Map>两种类型 尝试 直接返回Map类型 <select id="listLessonSumByCourseIdList" resultType="java.util.HashMap"> SELECT course_id, count(1) FROM lesson WHERE stat

  • mybatis返回的map结果如何设置有序

    目录 mybatis返回的map结果设置有序 mybatis中查询的结果有序展示 1.分析为啥结果是乱序 2.修改 补充 mybatis返回的map结果设置有序 mybatis返回的map结果设置有序(与查询的域顺序一致) <select id="exoprtGoods" resultType="java.util.HashMap"> 这样的情况下是无排序的 想要按着查询的顺序来的话 换成 <select id="exoprtGoods&

  • mybatis返回类型map时如何将key大写转为小写

    亲测: SELECT DEPTNO as "deptno",DEPTNAME,DEPTGRADE,PARENTDEPT FROM VMGR_DEPT ORDER BY DEPTGRADE,DEPTNO 别人案例: <select id="selectBlogRetHashMap" parameterType="int" resultType="map"> SELECT id AS "id", t

  • mybatis 返回Map类型key默认为大写问题

    目录 返回Map类型key默认为大写 在工作中发现的问题 修改方法 关于mybatis返回map的坑 Map中key是分大小写的 返回Map类型key默认为大写 在工作中发现的问题 默认情况下,当resultType="java.util.Map"时,返回的key值都是大写的!! <select id="getSystemDataOutZxwtList" resultType="java.util.Map"> </select&

  • mybatis 返回Map类型key改为小写的操作

    默认情况下,当resultType="java.util.Map"时,返回的key值都是大写的. 现在想key改成自己想要的,只需为查询出来的字段增加个别名即可. 如: <select id="getStudentList" resultType="java.util.Map"> select t.name as "sName",t.sex as "sSex" from student <

  • mybatis查询实现返回List<Map>类型数据操作

    如下所示: **只要设定resultType而不设定resultMap就可以了**: < select id = "selectByPage" parameterType = "java.util.Map" resultType="java.util.Map" > select rs.*, rssetting.*, cp.STOCK_CODE, cp.UNAME from RS rs left join T_COMPANY cp on

  • mybatis返回map结果集@MapKey使用的场景分析

    目录 mybatis返回map结果集@MapKey使用场景 使用id作为map的ke Map的value为Map,一条记录对应一个Map 使用name作为map的key mybatis使用@MapKey注解 背景和含义 具体示例 mybatis返回map结果集@MapKey使用场景 select的 resultType属性为map时: 通过MapKey指定map的key值 使用id作为map的ke @MapKey("id") Map<Long, UserInfo> getU

  • mybatis返回key value map集合方式

    目录 mybatis返回key value map集合 mybatis返回map,key为主键,value为对象 mybatis返回key value map集合 XML:文件 <select id="getData" resultMap="userMap" >     SELECT id,name FROM user         </select>   <resultMap id="userMap" type=

  • Mybatis返回map集合时,列的顺序与select不一致问题

    目录 返回map集合,列的顺序与select不一致 mybatis中返回map集合问题 1.mapper.xml中写一个查询返回map的sql 2.mapper.java 对应接收 3.错误写法 4.正确写法 返回map集合,列的顺序与select不一致 <select id="queryPercentByAsset" resultType="java.util.HashMap"> 将Hashmap换成LinkedHashMap即可 <select

  • mybatis返回map类型数据空值字段不显示的解决方案

    目录 mybatis返回map数据空值字段不显示 查询sql添加每个字段的判断空 ResultType利用实体返回 springMVC+mybatis查询数据 mybatis返回map空值未返回字段 mybatis开启CallSettersOnNulls mybatis返回map数据空值字段不显示 查询sql添加每个字段的判断空 IFNULL(rate,'') as rate ResultType利用实体返回 不用map springMVC+mybatis查询数据 返回resultType=”m

随机推荐