午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

關于MyBatis Plus中使用or和and問題

瀏覽:259日期:2023-10-20 15:07:52

最近在使用MyBatis Plus,發現在拼接條件的時候,and和or會出問題,比如下面這種

QueryWrapper userWrapper = new QueryWrapper();userWrapper.eq(“name”, name); userWrapper.eq(“pwd”,pwd).or().eq(“phone”, phone);

這種寫法拼出來的SQL語句是這樣的:

select * from user where (name = ? and pwd= ? or phone = ?)

這樣子是肯定不行的,于是去官網查詢,發現正確的寫法是這樣的

QueryWrapper userWrapper = new QueryWrapper();userWrapper.eq(“name”, name); userWrapper.and(wrapper ->wrapper.eq(“pwd”, pwd).or().eq(“phone”, phone));

select * from user where name = ? and ( pwd= ? or phone = ?)

補充:MyBatisPlus中and與or的連用

QueryWrapper<User> userWrapper = new QueryWrapper<>(); String type = (String) map.get('type'); if(StringUtils.isNotBlank(type)) { userWrapper.eq('is_admin', 'admin'.equals(type) ? true : false); } String keys = (String) map.get('key'); if(StringUtils.isNotBlank(keys)) { userWrapper.and(wrapper -> wrapper.like('login_name', keys).or().like('tel', keys).or().like('email', keys)); }

對應打印的SQL語句為:

SELECT id, login_name AS loginName, is_admin AS adminUser, ... del_flag AS delFlag, remarks FROM sys_user WHERE is_admin = 0 AND ( login_name LIKE ’%j%’ OR tel LIKE ’%j%’ OR email LIKE ’%j%’ )

注意:

userWrapper.and(…)中的and為后面的條件加上了括號,如果沒有and(),直接使用

userWrapper.like('login_name', keys).or().like('tel', keys).or().like('email', keys)

這一部分對應的SQL語句是不會被括號包圍的(若使用or(…),同理);

2. and(…)中的wrapper -> wrapper,注意名稱需要相同。

到此這篇關于關于MyBatis Plus中使用or和and問題的文章就介紹到這了,更多相關MyBatis Plus使用or和and內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 中国女人一级一次看片 | 日韩精品久久久久久久的张开腿让 | 在线播放成人av | 91精品久久久久久久久中文字幕 | 久久激情免费视频 | 大片在线观看网站免费收看 | 超碰网址 | 欧美一级视频 | av一区二区在线播放 | 国产亚洲欧美一区二区三区 | 亚洲欧美中文字幕 | 福利视频在线看 | 91视频www | 丁香花婷婷| 人人天天夜夜 | 国产成人在线视频免费观看 | 中文字幕在线观看日韩 | 免费黄色在线视频 | 色女孩综合 | 成人久久精品 | 日韩久久久 | www.在线视频 | 伊人国产精品 | 国产网站免费看 | av片观看| 79av| 国产日韩欧美激情 | 亚洲在线| 国产成人在线精品 | 超碰99在线观看 | 大尺度一区二区 | 三级精品视频 | 日本视频一区二区 | 亚洲精品视频网 | 免费日韩网站 | 国产精品成 | 白天操晚上操天天操 | 四虎在线播放 | 黄色在线观看国产 | 性视频在线播放 | 欧美日韩在线免费 |