一、querywrapper.like介紹
querywrapper.like是Mybatis-plus中查詢條件構造器中的一個方法,用於生成模糊查詢的SQL語句,在實際開發中可以通過這個方法實現很多實用的功能。
querywrapper.like的基本語法如下:
QueryWrapper<T> queryWrapper = new QueryWrapper<>(); queryWrapper.like("COLUMN_NAME", "PARAM");
其中,COLUMN_NAME為要進行模糊查詢的表列名,PARAM為要查詢的參數值。
querywrapper.like的語法相對簡單,但通過不同的使用方法,可以實現很多不同的功能。
二、根據單個字段進行模糊查詢
querywrapper.like最常用的方式是根據單個字段進行模糊查詢,這裡舉例查詢用戶表(user)中所有名字中含有“張”的用戶:
QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.like("name", "張"); List<User> userList = userService.list(queryWrapper);
其中,name為user表中的列名,代表用戶的名字。%代表任意多個字符,_代表一個字符。因此,“%張%”代表包含“張”的名字。
執行結果:返回所有名字中含有“張”的用戶列表。
三、根據多個字段進行模糊查詢
有時候我們需要根據多個字段來進行模糊查詢,例如查詢用戶表中所有名字或郵箱中包含“張”的用戶:
QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.like("name", "張").or().like("email", "張"); List<User> userList = userService.list(queryWrapper);
其中,name和email都是user表中的列名,代表用戶的名字和郵箱。or()表示或者的關係,兩邊的條件只要滿足一個就可以查詢出來。
執行結果:返回所有名字或郵箱中含有“張”的用戶列表。
四、匹配左邊或右邊的模糊查詢
有時候我們希望查詢左邊或右邊的字符是否與所查詢的字符串相匹配,這時需要用到如下代碼:
QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.likeRight("name", "張"); List<User> userList = userService.list(queryWrapper);
其中,likeRight表示查詢右邊的字符是否匹配,likeLeft則表示查詢左邊的字符是否匹配。
執行結果:返回所有以“張”結尾的用戶名的用戶列表。
五、模糊查詢並限制查詢結果數
有時候我們需要查詢滿足條件的前N條記錄,這時需要用到如下代碼:
QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.like("name", "張").last("LIMIT 10"); List<User> userList = userService.list(queryWrapper);
使用last方法在SQL語句的末尾加入自定義內容,這樣就可以對查詢結果進行限制,查詢結果只包含前10條。
執行結果:返回所有名字中含有“張”的前10條用戶列表。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/269924.html