文档章节

mybatis 使用 hashmap 时处理空值

java9
 java9
发布于 2015/04/24 11:41
字数 217
阅读 25
收藏 0

mybatis 查询时,如果返回类型是map ,默认会过滤掉值为空的字段,但是有时候又需要这个字段


  1. 在查询的时候判断是不是为空,为空的话就进行转换。
    select IFNULL(name,'');这样在返回的时候就可以保留这个值
  2. 在mybatis 中进行设置
  • 修改Mybatis config配置

    创建configuration.xml

    <?xmlversion="1.0"encoding="UTF-8"?>
    <!DOCTYPEconfiguration PUBLIC "-//mybatis.org//DTD SQL MAP Config 3.1//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
      <settings>
          <settingname="callSettersOnNulls"value="true"/>
      </settings>
    </configuration>

    注: 需要mybatis3.2以上版本。
  • 实现Mybatis的TypeHandler接口,在result 中应用这个转换器。

    <result property="age" column="age" typeHandler="com.demo.EmptyStringIfNull"


    后记:相比较而言,在数据库处理更方便,修改mybatis 的配置,可能会影响到其他地方。实现接口的话得定义一个返回类型。


© 著作权归作者所有

共有 人打赏支持
java9
粉丝 12
博文 65
码字总数 25460
作品 0
武汉
后端工程师
私信 提问
Mybatis动态构建Sql(无实体类)

先简单说下Mybatis的动态sql,这不是今天的重点。 MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。 例如,sql语句where条件中,需要一些安全判断,例如...

perfectspr
2014/11/05
0
2
《深入理解mybatis原理》 MyBatis的一级缓存实现详解 及使用注意事项

MyBatis是一个简单,小巧但功能非常强大的ORM开源框架,它的功能强大也体现在它的缓存机制上。MyBatis提供了一级缓存、二级缓存 这两个缓存机制,能够很好地处理和维护缓存,以提高系统的性能...

java梦想家01
2016/01/11
527
1
Mybatis多字段模糊查询

刚刚学习Mybatis,认识到增删改查这些操作都只能传入一个参数,传出一个参数。如果需要传入或传出好几个参数,则有两种方法: 方法1::这就需要定义PO(Persistent Object)类。我理解的PO类...

Henrykin
2016/10/26
326
0
手把手带你源码分析 HashMap 1.7

前言 HashMap 在 Java 和 Android 开发中非常常见 今天,我将带来 HashMap 的全部源码分析,希望你们会喜欢。 目录 1. 简介 类定义 3. 具体使用 3.1 主要使用API(方法、函数) 3.2 使用流程...

烂猪皮
04/21
0
0
MyBatis实战(二)-一级缓存原理解析

1 概论 每当我们使用MyBatis开启一次和数据库的会话,MyBatis会创建出一个SqlSession对象表示一次数据库会话 在对数据库的一次会话中,我们有可能会反复地执行完全相同的查询语句,如果不采取...

芥末无疆sss
10/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

NEO区块链-DAPP开发直通车-第零篇

什么是DAPP DAPP 是以太坊发明的词汇 Decentralized Application. 目前基于区块链技术开发的应用程序广泛的接受使用了这一名称。 NEL将为开发DAPP提供全面的服务 什么是NEL NEL是 “NewEcon...

NEO-FANS
13分钟前
0
0
可视化软件VisIt在Ubuntu18.04上的安装

可视化软件VisIt在Ubuntu18.04上的安装 参考文档及使用说明 1.下载 在官网下载页面下载合适版本的安装文件,Ubuntu有专用的 https://wci.llnl.gov/simulation/computer-codes/visit/executa...

佚文
18分钟前
0
0
GROUP BY GROUPING SETS

GROUPING SETS 子句是 SELECT 语句的 GROUP BY 子句的扩展。通过 GROUPING SETS 子句,您可采用多种方式对结果分组,而不必使用多个 SELECT 语句来实现这一目的。这就意味着,能够减少响应时...

hblt-j
28分钟前
2
0
selenium之表格的定位

真的勇士, 敢于直面惨淡的warning、 敢于正视淋漓的error 目录 被测试网页的HTML代码 1.遍历表格所有单元格 2.定位表格中的某个元素 3.定位表格中的子元素 总结 浏览器网页常常会包含各类表...

程序猿拿Q
33分钟前
1
0
adb命令启动展讯平台工厂模式

adb命令启动展讯工厂模式: adb shell am start com.sprd.engineermode/com.sprd.engineermode.EngineerModeActivity 其它系统应用启动命令: 其他的一些应用启动命令,如下所示: calendar...

东街小霸王
34分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部