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,但是内部维持了一个双向链表,可以保持顺序
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
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中,我们通常会像下边这样用: 返回一个结果 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结果如何设置有序
目录 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
随机推荐
- ORACLE 10g 安装教程[图文]
- Vuex之理解Mutations的用法实例
- Mybatis generator的使用全面解析
- mybatis二级缓存的实现代码
- .net JS模拟Repeater控件的实现代码
- 浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
- Android 中ThreadLocal的深入理解
- Zen Coding 快速编写HTML/CSS代码的实现
- 深入理解React高阶组件
- php xfocus防注入资料
- jquery如何改变html标签的样式(两种实现方法)
- CentOS 7 安装 MySQL 5.6遇到的各种问题小结
- Jquery中给animation加更多的运作效果实例
- jquery easyui DataGrid简单示例
- 如何减少浏览器的reflow和repaint
- Java Reference源码解析
- php在文件指定行中写入代码的方法
- 利用C语言替换文件中某一行的方法
- Java开发之内部类对象的创建及hook机制分析
- 手动用webpack搭建第一个ReactApp的示例