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

MybatisPlus查詢條件為空字符串或null問題及解決

 更新時間:2022年06月27日 15:47:33   作者:想望著太陽  
這篇文章主要介紹了MybatisPlus查詢條件為空字符串或null問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

查詢條件為空字符串或null問題

問題描述

工作種當(dāng)使用mybatisplus框架進(jìn)行條件查詢時,會出現(xiàn)參數(shù)為空字符串或者null也走查詢條件,寫一篇文章記錄一下。

String name = "張三";
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
lqw.eq(User::getName, name);
List<User> userList = userMapper.selectList(lqw);
// 當(dāng)name為空字符串或null時,最后生成的sql會變成
SELECT * FROM user WHERE name = '';
SELECT * FROM user WHERE name = null;

這就不好查了。

解決辦法

mybatisplus的條件構(gòu)造器方法 eq()、like()等這些方法能支持第三個參數(shù) condition

condition是一個布爾值,當(dāng)conditionfalse

時,當(dāng)前這個條件方法不會生效,即生成的sql不會拼接這個條件;所以在這個參數(shù)里判斷查詢參數(shù)是否為空即可。

lqw.eq(StringUtils.hasText(name), User::getName, name);

主要還是對mybatis-plus不熟悉導(dǎo)致的。

查詢表的時候有些字段為空問題

親測,已經(jīng)解決

yaml:

mybatis:
  mapper-locations: classpath:mapper/*.xml
#  config-location: classpath:mybatis/mybatis-config.xml
  configuration:
    map-underscore-to-camel-case: true                                  #開啟駝峰命名模式

商品ID和品牌ID都是為空。

因?yàn)槲以赑roduct、和ProductDto里的字段:store_id, brand_id

因?yàn)閥aml配置開啟了駝峰,所以就不能映射到數(shù)據(jù)庫表中的store_id和brand_id字段。

所以把數(shù)據(jù)庫字段和javaBean、Dto的字段都設(shè)置為駝峰命名就可以了。

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

相關(guān)文章

最新評論

密山市| 万州区| 罗源县| 阿克陶县| 西藏| 雷山县| 融水| 呼和浩特市| 牡丹江市| 武汉市| 陆丰市| 龙山县| 兴化市| 嘉善县| 股票| 南涧| 贺州市| 永川市| 微博| 九龙城区| 当涂县| 化德县| 湟源县| 罗源县| 宝兴县| 宁武县| 鹤壁市| 鲁甸县| 十堰市| 蒲城县| 莒南县| 太谷县| 镇远县| 政和县| 禹州市| 德格县| 大名县| 延吉市| 普兰县| 北票市| 沭阳县|