文档章节

mybatis 使用 hashmap 时处理空值

java9
 java9
发布于 2015/04/24 11:41
字数 217
阅读 23
收藏 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
粉丝 13
博文 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实战(二)-一级缓存原理解析

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

芥末无疆sss
10/06
0
0
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

没有更多内容

加载失败,请刷新页面

加载更多

rabbitmq学习(一)

RabbitMQ是目前非常热门的一款消息中间件,具有高可靠、易拓展、高可用及丰富的功能 1.什么是消息中间件 消息是指在应用间传送的数据。包含文本字符串、JSON、内嵌对象 消息队列中间件(消息...

hensemlee
9分钟前
0
0
学习设计模式——原型模式

1. 认识原型模式 1. 定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 2. 结构: Prototype:声明一个克隆自身的接口,用来约束想要克隆自己的具体实现类,要求这些类...

江左煤郎
15分钟前
0
0
观察者模式

观察者模式的套路 有如下角色: 事件,比如修改,用户点击; 事件队列,触发事件之后,会把事件一个一个放入事件队列 监听器,采用某种方式(一般是轮询,或者io阻塞机制),来判断事件队列是否有新的未...

黄威
19分钟前
0
0
线程安全策略

四个线程安全策略 线程限制: 一个被线程限制的对象,由线程独占,并且只能被占有它的线程修改 共享只读: 一个共享只读的对象,在没有额外同步的情况下,可以被多个线程并发访问,但是任何线...

Ala6
25分钟前
1
0
Dubbo (三)源码分析 —— 架构原理

1 核心功能 首先要了解Dubbo提供的三大核心功能: Remoting:远程通讯 提供对多种NIO框架抽象封装,包括“同步转异步”和“请求-响应”模式的信息交换方式。 Cluster: 服务框架 提供基于接口方...

小刀爱编程
27分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部