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示例代码
前言 有时候我们做查询, 只需要返回两个string类型的字段,方便我们后续的处理.比如根据商品的code查询对应的分类的名字,需要返回一个map, key为商品code, value为商品分类对应的名称.以方便我们后续对结果集的处理.如果你直接用mybatis返回一个map, 你可能会发现,结果根据不是自己需要的.这时候我们需要自己实现一个ResultHandler来实现我们想要的结果,废话不多说,直接上代码 方法如下 第一步,在mapper.xml文件当中,定义一个ResultMap <re
-
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返回的字段全变大写的问题
mybatis通常情况都是用javabean作为resultType的对象,但是有时也可以使用Map去接收. <select id="execute" parameterType="String" resultType="java.util.HashMap"> ${value} </select> 如果使用Map,返回来的字段名全是大写,处理方法 Select name as "name" from v
-
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类型了,因为返回不了另一
随机推荐
- JavaMail发送(带图片和附件)和接收邮件实现详解(四)
- 深入浅析JavaScript面向对象和原型函数
- 详解Vue使用 vue-cli 搭建项目
- 用注册表文件实现解开被锁定的.reg与inf文件
- admin.vbs 以管理员身份运行程序的vbs命令
- XenServer XenDesktop安装步骤详解(图文)
- JavaScript之事件委托实例(附原生js和jQuery代码)
- Javascript 基础---Ajax入门必看
- jquery实现简单的瀑布流布局
- css下划线颜色一句话代码
- 使用Shell 脚本实现每隔100行插入一条记录且记录第一列包含行号其他列不变
- 7个JS基础知识总结
- Android获取当前已连接的wifi信号强度的方法
- Android在layout xml中使用ViewStub完成动态加载问题
- Android笔记之:onConfigurationChanged详解
- c#之用户定义的数据类型转换介绍
- jquery等待效果示例
- python获取程序执行文件路径的方法(推荐)
- jQuery基于Ajax实现读取XML数据功能示例
- C++从txt文件中读取二维的数组方法