mybatis中查询的结果有序展示

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

1、分析为啥结果是乱序

先看下图:

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
通过上图可以分析出,HashMap存取数据大多是无序的,那么关键点找出来了。
要想查询出来的结果有序,替换HashMapLinkedHashMap


2、修改

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

更改resultTypejava.util.LinkedHashMap

更改typeypejava.util.LinkedHashMap

在这里插入图片描述

在这里插入图片描述


补充:

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

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


author:su1573

猜你喜欢

转载自blog.csdn.net/su1573/article/details/102857738
今日推荐