mybatis返回的map结果如何设置有序
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,但是内部维持了一个双向链表,可以保持顺序
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
JavaWeb JDBC + MySql 通讯录实现简单的增删改查功能案例详解
这篇文章主要介绍了JavaWeb JDBC + MySql 通讯录实现简单的增删改查功能,结合具体案例形式详细分析了JavaWeb JDBC + MySql数据库连接、增删改查等相关操作技巧与注意事项,需要的朋友可以参考下2019-08-08JDK17、JDK19、JDK1.8轻松切换(无坑版,小白也可以看懂!)
在做不同的java项目时候,因项目需要很可能来回切换jdk版本,下面这篇文章主要介绍了JDK17、JDK19、JDK1.8轻松切换的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下2023-02-02
最新评论