目录
  • 返回Map类型key默认为大写
    • 在工作中发现的问题
    • 修改方法
  • 关于mybatis返回map的坑
    • Map中key是分大小写的

返回Map类型key默认为大写

在工作中发现的问题

默认情况下,当resultType=“java.util.Map”时,返回的key值都是大写的!!

<select id="getSystemDataOutZxwtList"  resultType="java.util.Map">
</select>

修改方法

<select id="getStudentList" resultType="java.util.Map"> 
select t.name as "sName",t.sex as "sSex" 
        from student 
</select>

关于mybatis返回map的坑

mybatis返回类型为java.util.Map的时候,会有问题,就是如果该字段为null或者“”的话,封装返回的Map中会自动去除该字段,因此经常会在Map中取不到值,关于这个问题网上有很多解决办法,mybatis高版本通过配置settings解决,低版本的话暂时无法解决

Map中key是分大小写的

mybatis返回的Map封装,Key默认全是大写,因此JAVA取Map值,key都要大写

其实低版本可以通过Java定义与sql相同的字段名称,在JAVA中判断是否包含键值对,如果没有,那么手动添加该键的空值(空键值对),相当于自己又封装了一遍数据,其实比较麻烦,如果更改SQL,那么JAVA也要相应更改

其他暂无好的办法

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。