zoukankan      html  css  js  c++  java
  • MyBatis开发中解决返回字段不全的问题

    场景重现:
    mybatis 在查询的时候,可以返回Map,但是一旦这个字段为空(null)的时候,map里就没有了。我用的是mysql数据库,除了在查询语句上做ifnull判断给它默认值外,需求是即使值为空(null)l也要保存在map中给我返回来
    解决方案一(现在个人推荐这种做法,省时省力):
    在mybatis的配置文件中加入,mybatis必须3.2版本以上
    <settings>
    <setting name="callSettersOnNulls" value="true"/>
    </settings>
    解决方案二:
    在查询语句上做ifnull判断给它默认值外,有没的别的其他办法,让他就算值为null也要保存在map中给我返回来
    解决方案三:
    解决的办法是用实体(bean)去做返回结果的类型(如果是联合查询查询的话,再一个实体里面添加没有的属性即可)。用实体get方法去获取每个值,这样的话,就算 是数据库中是(NULL)值,你也获取到了你想要的null。不过缺点是要定义实体类,好烦麻烦的说(这种方法不推荐,但是公司有人用)
    解决方案四:
    使用"case when xxx is null then '' else ... end as XXXX"做默认值(我之前的解决方案),

  • 相关阅读:
    Gin框架介绍与使用
    Go并发编程(goroutine)
    Go语言操作数据库及其常规操作
    Julia语言程序基础
    GoLang字符串处理
    在PHP7以上版本使用不了mysql扩展
    Docker基础命令
    Odoo14_Tree视图自定义按钮和自定义面板
    Odoo13_自定义客户端页面
    python_读取.xlsx(电子表格)文件
  • 原文地址:https://www.cnblogs.com/jpfss/p/7681616.html
Copyright © 2011-2022 走看看