Java 求解:使用 mybatis 的一个小小问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
13192262269
V2EX    程序员

Java 求解:使用 mybatis 的一个小小问题

  •  
  •   13192262269 2019-03-21 13:52:52 +08:00 2170 次点击
    这是一个创建于 2484 天前的主题,其中的信息可能已经有所发展或是发生改变。
    问题:
    mybatis 的 resultType 返回类型 为 hashmap ,

    当获取到的 value 是 null 时,没有返回 key

    想要效果:

    当获取到的 value 是 null 时,依然返回 key

    eg:
    问题:
    "data":{
    }

    效果:
    "data":{
    "key":"test",
    value:""
    }

    怎么处理?请问一下
    第 1 条附言    2019-03-21 14:48:44 +08:00
    已经结贴了,我写了一个帖子总结一下,你们可以看一下:https://mp.csdn.net/postedit/88714568
    第 2 条附言    2019-03-21 14:49:56 +08:00
    11 条回复    2019-03-21 14:50:38 +08:00
    lyusantu
        1
    lyusantu  
       2019-03-21 14:00:21 +08:00
    用 hashmap 作为返回值的时候,牵扯到一系列的封装,具体实现可以查阅资料参考一下
    重点是在这个封装的过程中,如果字段对应的值是空的,这个字段就会被忽略掉
    13192262269
        2
    13192262269  
    OP
       2019-03-21 14:01:23 +08:00
    @lyusantu #1 对是的,当字段对应的值是空的,这个字段就会被忽略掉,如何做到不被忽略
    surick
        3
    surick  
       2019-03-21 14:03:20 +08:00
    ifnull(xxxx,'')
    CoderGeek
        4
    CoderGeek  
       2019-03-21 14:03:23 +08:00
    null 的话会被忽略 = =
    boris1993
        5
    boris1993  
       2019-03-21 14:03:54 +08:00 via Android
    SQL 里就把 null 替换成""不知道是否可行
    roothub
        6
    roothub  
       2019-03-21 14:11:37 +08:00   2
    可以在代码里或者 xml 里配置 mybatis 的全局属性,加上以下设置
    <!--当 mybatis 没有用实体返回而是用 Map 时,字段为 null 也映射到结果集中-->
    <setting name="callSettersOnNulls" value="true"/>
    13192262269
        7
    13192262269  
    OP
       2019-03-21 14:21:44 +08:00
    @lyusantu #1 已解决,用 6 楼的方法
    @JinyAa #3 最好不要这样子,我试过,用这方法,返回的 value 全部被转换成 String(int,data 类型会丢失)
    @CoderGeek #4 是的,mybatis 的 3.2 以上版本都会忽略
    @boris1993 #5 最好不要这样子,我试过,用这方法,返回的 value 全部被转换成 String(int,data 类型会丢失)
    @roothub #6 已解决谢谢,不过,不同的工程会有一点不同的去设置 callSettersOnNulls value=true
    13192262269
        8
    13192262269  
    OP
       2019-03-21 14:23:14 +08:00
    @roothub #6 没必要每行都配,代码量大的话,不好,可以设为全局属性
    13192262269
        9
    13192262269  
    OP
       2019-03-21 14:23:31 +08:00
    已结贴!!!
    boris1993
        10
    boris1993  
       2019-03-21 14:26:32 +08:00 via Android
    @13192262269 #7 学习一个
    13192262269
        11
    13192262269  
    OP
       2019-03-21 14:50:38 +08:00   1
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1061 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 23:03 PVG 07:03 LAX 15:03 JFK 18:03
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86