最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis-plus踩坑之下劃線駝峰轉(zhuǎn)換方式

 更新時(shí)間:2025年08月16日 09:56:26   作者:Echoo華地  
MyBatis-Plus默認(rèn)駝峰轉(zhuǎn)下劃線導(dǎo)致實(shí)體字段匹配失敗,關(guān)閉該功能后需手動(dòng)配置映射,建議避免字段使用下劃線,若必須則可通過注解、重寫toString或調(diào)整字段名解決

問題:對(duì)象中包含下劃線的字段兒查詢不出來

mybatis-plus中,默認(rèn)開啟了下滑線-駝峰轉(zhuǎn)換

會(huì)把數(shù)據(jù)庫字段中的下劃線自動(dòng)轉(zhuǎn)換成駝峰形式,然后去匹配實(shí)體類對(duì)象的字段

online_num -> onlineNum

如果在一個(gè)實(shí)體類中存在一個(gè)帶下劃線的字段,查詢出來為null

 private Integer online_num;

即使用了@TableField()注解去指定映射關(guān)系,查詢結(jié)果也為null

 @TableField("online_num")
 private Integer online_num;

問題就是出現(xiàn)在了駝峰轉(zhuǎn)換這里,因?yàn)橐呀?jīng)指明了映射關(guān)系,所以把駝峰轉(zhuǎn)換關(guān)掉就行:

  • yml:
mybatis-plus:
  configuration:
    map-underscore-to-camel-case: false
  • properties:
mybatis-plus.configuration.map-underscore-to-camel-case=false

但是這里有個(gè)問題,你關(guān)了自動(dòng)駝峰轉(zhuǎn)換,所有字段都要通過@TableField()注解去指定映射關(guān)系或者在mapper.xml中指定映射關(guān)系,這樣增加了很多工作量。

所以非必要情況下類字段還是不要用_去命名字段,省得麻煩。

實(shí)在不行,如果一定要用下劃線字段,

看看具體的原因是什么

  • ①如果是序列化或者反序列話需要的話,可以用@JsonProperty和@JsonAlias來解決
  • ②如果是toString需要,那就重寫一下Object的toString方法
  • ③其他情況的話,可以加一個(gè)字段比如a_b,就加一個(gè)aB字段,然后手寫一下a_b字段對(duì)應(yīng)的getter,setter,使它們指向aB字段,如果不想轉(zhuǎn)字段就轉(zhuǎn)對(duì)象,查詢用一個(gè)對(duì)象,然后對(duì)業(yè)務(wù)一個(gè)對(duì)象,查詢出來后就轉(zhuǎn)成業(yè)務(wù)對(duì)象,技巧還是很多滴~~

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

罗甸县| 维西| 阿巴嘎旗| 商南县| 枣阳市| 祁东县| 茌平县| 周口市| 丹巴县| 大石桥市| 四川省| 双峰县| 吉隆县| 三台县| 横山县| 屏山县| 葫芦岛市| 志丹县| 嘉禾县| 辽源市| 辽宁省| 金川县| 柳林县| 嵊泗县| 西宁市| 天长市| 廊坊市| 马尔康县| 兖州市| 周宁县| 河东区| 南安市| 仁化县| 鹿泉市| 和田市| 正镶白旗| 浦江县| 台前县| 西昌市| 东乡县| 南岸区|