mybatis 返回Map类型key默认为大写问题
目录
- 返回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也要相应更改
其他暂无好的办法
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
浅谈Mybatis中resultType为hashmap的情况
现在有一张user表 id ,name,age 我们进行一个简单的查询: <select id="test" resultType="Uer"> select id ,name,age from user </select> 查询完后,怎么去接收这个查询结果呢,通常在这个mapper.xml对应的接口中使用List<User>做为返回值去接收,最后存储的样子就是下面的图 这是一个很简单的单表查询操作,其实这种简单的单表查询操作不需
-
解决mybatis用Map返回的字段全变大写的问题
mybatis通常情况都是用javabean作为resultType的对象,但是有时也可以使用Map去接收. <select id="execute" parameterType="String" resultType="java.util.HashMap"> ${value} </select> 如果使用Map,返回来的字段名全是大写,处理方法 Select name as "name" from v
-
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类型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返回map类型数据空值字段不显示的解决方案
目录 mybatis返回map数据空值字段不显示 查询sql添加每个字段的判断空 ResultType利用实体返回 springMVC+mybatis查询数据 mybatis返回map空值未返回字段 mybatis开启CallSettersOnNulls mybatis返回map数据空值字段不显示 查询sql添加每个字段的判断空 IFNULL(rate,'') as rate ResultType利用实体返回 不用map springMVC+mybatis查询数据 返回resultType=”m
-
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返回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数据方式示例
目录 一. 方式1 接口 调用 二. 方式2 接口 调用 三. 方式3 接口 调用 一. 方式1 接口 public interface UserMapper { List<Map<String, String>> selectTestData1(); } <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//
-
解决MyBatis返回结果类型为Boolean的问题
问题描述: 在使用MyBatis时,有时需要检查某个记录是否存在数据库中,然后根据其返回的布尔值true or false,来进行逻辑判断.那怎么做呢? 解决方案: 如检测某个手机号是否被注册过: <select id="checkPhoneExist" parameterType="java.lang.String" resultType="java.lang.Boolean"> <![CDATA[ select count(
-
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,List集合类型的数据方式
Mybatis查找返回Map,List集合类型的数据 一.查找返回Bean对象的List集合 基本与返回Bean对象没什么区别,resultType依然为Bean对象的全类名,只是接口中的方法类型要进行修改 public List<Employee> getEmpListByEmail(String email); 二.查询返回Bean对象的Map集合 同样,resultType依然为Bean对象的全类名,只是接口中的方法类型要进行修改,添加注解. @MapKey("Bean对象属性
-
Mybatis查询返回Map<String,Object>类型实例详解
这篇我们来说一下Mybatis的查询结果返回Map类型. 首先我们在企业开发中是很少使用到Map返回类型的,很多都是直接返回一个对象实体.尤其是苞米豆出了MP框架之后,XML都是很少写的. 那么在什么情况下需要使用Map来作为返回的结果类型呢? 案例:有一个模块A和模块B,A模块的POM依赖引入了B模块,A模块可以直接使用B模块的实体,但是B模块使用不到A模块的实体,如果在B模块POM中引入A模块的依赖,那么在运行时会出现依赖循环错误,这时候就需要自己写SQL来返回Map类型了,因为返回不了另一
随机推荐
- seaJs使用心得之exports与module.exports的区别实例分析
- Oracle 中 decode 函数用法
- 使用正则表达式找出不包含特定字符串的条目
- php cache类代码(php数据缓存类)
- 数据库查询优化(主从表的设计)
- jQuery获取iframe的document对象的方法
- 将 html 转成 ubb代码的小脚本
- JS+CSS实现可以凹陷显示选中单元格的方法
- Apache2 httpd.conf 中文版
- smarty高级特性之对象的使用方法
- C#中DataGridView操作技巧
- PHP设计模式之责任链模式的深入解析
- 使用SyntaxHighlighter实现HTML高亮显示代码的方法
- Python字符串匹配算法KMP实例
- mysql完整备份时过滤掉某些库的方法
- 显示、隐藏密码
- 实例讲解C++编程中对设计模式中的原型模式的使用
- Android仿开心消消乐大树星星无限循环效果
- Android自定义ViewGroup实现带箭头的圆角矩形菜单
- python实现堆和索引堆的代码示例