mybatis的配置 mybatis-config.xml

2,springBoot配置   application.properties 添加

#mybatis resultType equal map void null value

mybatis.configuration.call-setters-on-nulls=true

3,转换成JSON时

//导包

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.serializer.SerializerFeature;

//代码

JSON.toJSONString(new HashMap<>(),SerializerFeature.WriteMapNullValue);

一、查询sql添加每个字段的判断空

IFNULL(rate,'') as rate二、ResultType利用实体返回,不用map

三、springMVC+mybatis查询数据,返回resultType=”map”时,如果数据为空的字段,则该字段省略不显示,可以通过添加配置文件,规定查询数据为空是则返回null。<?xml version="1.0" encoding="UTF-8"?>

/p>

"http://mybatis.org/dtd/mybatis-3-config.dtd">

spring-mybatis.xml

如果想要配置rate的默认值,例如“”字符串,则可以建立一个类,实现Mybatis的TypeHandler接口public class EmptyStringIfNull implements TypeHandler{

@Overridepublic String getResult(ResultSet rs, String columnName) throwsSQLException {return (rs.getString(columnName) == null) ? "": rs.getString(columnName);

}

@Overridepublic String getResult(ResultSet rs, int columnIndex) throwsSQLException {return (rs.getString(columnIndex) == null) ? "": rs.getString(columnIndex);

}

@Overridepublic String getResult(CallableStatement cs, int columnIndex) throwsSQLException {return (cs.getString(columnIndex) == null) ? "": cs.getString(columnIndex);

}

@Overridepublic void setParameter(PreparedStatement ps, int arg1, String str, JdbcType jdbcType) throwsSQLException { }}在sql.xml文件定义与使用如下如下

map mybatis 的字段返回0_mybatis返回map类型数据空值字段不显示(三种解决方法)相关推荐

  1. jsonpath:从庞大的接口返回结果(返回结果为字典类型)中取字段值

    从庞大的接口返回结果(返回结果为字典类型)中取字段值,返回结果是list s = {"ec": 0, "errcode": 0, "em": ...

  2. Json返回时间中出现乱码问题的两种解决方法

    Json返回时间中出现乱码问题的两种解决方法 参考文章: (1)Json返回时间中出现乱码问题的两种解决方法 (2)https://www.cnblogs.com/hanyinglong/archiv ...

  3. java map集合遍历方法,Java的Map集合的三种遍历方法

    集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~ 1. package com.myTest.MapText; import java.util.Collection; i ...

  4. WORD Application.Documents.Open函数返回null的一种解决方法

    WORD Application.Documents.Open函数返回null的一种解决方法 参考文章: (1)WORD Application.Documents.Open函数返回null的一种解决 ...

  5. JavaScript监听手机物理返回键的两种解决方法

    JavaScript监听手机物理返回键的两种解决方法 参考文章: (1)JavaScript监听手机物理返回键的两种解决方法 (2)https://www.cnblogs.com/xzzzys/p/8 ...

  6. VLOOKUP函数返回错误值#N/A的两种解决方法

    VLOOKUP函数返回错误值#N/A的两种解决方法 参考文章: (1)VLOOKUP函数返回错误值#N/A的两种解决方法 (2)https://www.cnblogs.com/gonghongwei/ ...

  7. mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法

    mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法 1.先查看库.表.表字符字段的编码格式.MySQL默认的库和表的字符编码都是latin1,而我们一般需要使用 utf8 //先查看 ...

  8. 【方向盘】MyBatis封装结果集时,Integer类型的id字段被赋值成了Long类型---读源码找原因

    在穷的时候饿的时候,千万对一个人说物质不重要.基础不牢,地动山摇 本文已被https://yourbatman.cn收录:女娲Knife-Initializr工程可公开访问啦:程序员专用网盘https ...

  9. mac vs 返回上一步_mac电脑打不开应用程序的解决方法

    mac电脑跟windows电脑一样,经常会出现打不开应用程序的情况,并且提示"因为它来自身份不明的开发者",也不知道哪里出现问题?由于MAC系统与windows界面不一样,很多小编 ...

最新文章

  1. 一种 Web 应用程序级别的 Cluster 实现技术
  2. l开头的英文车标是什么车_L开头的英文车标叫什么车
  3. 专家票选! 2020 年度 10 篇人工智能经典论文(1-5)
  4. mysql innodb log_教你如何理解mysql中的innoDB log
  5. 安卓手机刷软路由_华为路由AX3 Pro上手测评:用过最方便的路由器,没有之一...
  6. SQLServer 系统数据库
  7. android应用程序的生命周期,Android应用程序的生命周期.doc
  8. Java多线程学习三十一:ThreadLocal 是用来解决共享资源的多线程访问的问题吗?
  9. PATH变量,cp,mv,cat,more,less,head,tail命令举例
  10. highCharts图表入门简介
  11. Codeforces Round #121 (Div. 1) A. Dynasty Puzzles DP
  12. DDraw笔记-创建表面
  13. A[1080]Graduate Admission 两个cmp比较函数两个struct结构体
  14. 通过Wireshark获取宽带账号密码
  15. 《《《翻译》》》avod 三维生成与目标检测
  16. Mock数据模板规范详解
  17. Tilera多线程网络编程总结
  18. 爬取北邮人论坛美食帖子
  19. HBM (High Bandwidth Memory)
  20. 做一个很出色的程序员

热门文章

  1. Bailian4034 选择客栈【序列处理】
  2. HDU5695 Gym Class【拓扑排序】
  3. Bailian2693 最远距离【序列处理】
  4. Bailian2714 求平均年龄(POJ NOI0105-01)【入门】
  5. .condarc(conda 配置文件)、换国内源
  6. 地震与地球的内部构成
  7. for 循环 and while 循环(三)
  8. [面试] 算法(七)—— 逆序输出链表
  9. 三个瓶盖能换一瓶水,问100个人需要喝水,最少需要买多少瓶水即可解决100人的喝水问题
  10. python3.7安装步骤-Python 3.7.0安装教程(附安装包) | 我爱分享网