Mybatis中<select id="getImages" resultType="java.util.Map">查出的结果顺序
来源:互联网 发布:钢筋店需要什么软件 编辑:程序博客网 时间:2024/06/07 17:31
1、问题出现场景:
昨天的工作中有一个业务需求是根据数据id查询该条数据包含的图片路径数据:
初始mapper中相关select如下:
<select id="getImages" parameterType="java.util.Map" resultType="java.util.Map">
select <include refid="images"/> from loss_recc where id = #{id}</select>
<sql id="images">
img01,img02,img03,img04,img05,img06,img07,img08,img09,img10
</sql>
例如有一条数据是img01,img02,img03,img04有值,其余的image都没有值。查询结果用HashMap<String, String> map来接,断点发现map中元素顺序为{img05=, img06=, img07=, img08=, img09=, img10=,img03=/20170614/3.jpg,img02=/20170614/2.jpg, img01=/20170614/1.JPG, img04=/20170614/4.jpg,}类似于这样的无序数据(跟select 后的查询项数据不一致)。
后将mapper中的resultType做了如下修改,得到了预期结果
<select id="getImages"parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
原因可能是因为Map元素放置无顺序,LinkedHashMap是HashMap的一个子类,它保留插入的顺序,如果需要输出的顺序和输入时的相同,那么就选用LinkedHashMap。
2、再学习LinkedHashMap
参考:http://uule.iteye.com/blog/1522291
- Mybatis中<select id="getImages" resultType="java.util.Map">查出的结果顺序
- mybatis中select查询时 resultType="java.util.LinkedHashMap"
- mybatis resultType=java.util.Map 时注意返回null
- mybatis resultType="map"
- mybatis resultType="map"
- mybatis中的resultType="java.util.Map",返回有重复数据
- MyBatis返回resultType="Map" 时
- Hibernate 可以用 select new map 查询出结果集 List,里面放一个一个 map。Mybatis 如何查出这样的 list?
- Mybatis Mapper resultType="java.lang.Integer"
- 使用mybatis的resultType="Map"可省去new返回值对象
- 维护java.util.Set, java.util.Map的插入顺序
- mybatis select标签中resultMap和resultType作用区别
- mybatis中resultMap和resultType的区别
- MyBatis中resultMap和resultType的使用
- MyBatis中ResultMap和ResultType的区别
- MyBatis中resultType和resultMap的区别
- mybatis中resulttype和resultmap的区别
- MyBatis中resultType和resultMap的区别
- 微信小程序支付(java后端)
- RMAN异机恢复实验 RAC+ASM恢复到单实例文件系统
- 深入理解 JavaScript 异步系列(2)—— jquery的解决方案
- GCC 编译 -std简述
- VueJS兄弟组件通信
- Mybatis中<select id="getImages" resultType="java.util.Map">查出的结果顺序
- bootstrapTable动态渲染数据获取
- Discuz!教程之DIY主题模块增加主题随机排序功能
- 梯度(Gradient)与梯度下降法(Gradient Descent)
- 算法设计与应用基础系列7
- 矩阵快速幂DP Darth Vader and Tree : CodeForces
- 牛客小题(js)
- 理解 Memory barrier(内存屏障)
- linux centos7系统的服务器重启,外网ping不通,网卡无法启动的解决办法!