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

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

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

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

問題描述

工作種當(dāng)使用mybatisplus框架進(jìn)行條件查詢時(shí),會(huì)出現(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時(shí),最后生成的sql會(huì)變成
SELECT * FROM user WHERE name = '';
SELECT * FROM user WHERE name = null;

這就不好查了。

解決辦法

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

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

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

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

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

查詢表的時(shí)候有些字段為空問題

親測,已經(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è)置為駝峰命名就可以了。

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

相關(guān)文章

最新評論

抚州市| 兴隆县| 河间市| 田阳县| 宿松县| 郧西县| 城固县| 晋中市| 乌拉特后旗| 临泽县| 太保市| 北川| 伊吾县| 牟定县| 锦州市| 育儿| 哈巴河县| 方城县| 怀宁县| 敖汉旗| 海安县| 都安| 霍城县| 宝兴县| 金门县| 晋城| 剑川县| 青田县| 唐山市| 惠来县| 五家渠市| 新宁县| 曲周县| 邻水| 交口县| 凌云县| 巢湖市| 前郭尔| 勃利县| 马龙县| 广宗县|