• 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"做默认值(我之前的解决方案),

  • 相关阅读:
    codeforces 57C 思维
    FOJ 2232 匈牙利算法找二分图最大匹配
    UVA 101 vector
    POJ 3070 矩阵mob
    codeforces 60B bfs
    codeforces 54A
    codeforces 466C 计数 codeforces 483B 二分 容斥
    FOJ 2213 简单几何
    CCF-最优配餐(BFS)
    杂论-FTP
  • 原文地址:https://www.cnblogs.com/jpfss/p/7681616.html
Copyright © 2020-2023  润新知