mybatisplus like or like and
时间: 2024-05-12 15:11:58 浏览: 154
Mybatis-Plus是一个Mybatis的增强工具,在Mybatis的基础上只做增强不做改变,简化了开发流程,提高了开发效率。在Mybatis-Plus中,like和like and都是查询条件的一种,用于模糊查询。
like条件是用来查询某个字段包含特定字符的记录,其使用方式如下:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", "张");
List<User> userList = userMapper.selectList(queryWrapper);
```
上述代码表示查询name字段中包含“张”字符的记录。
like and条件是用来查询多个字段均包含特定字符的记录,其使用方式如下:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", "张").like("email", "test");
List<User> userList = userMapper.selectList(queryWrapper);
```
上述代码表示查询name字段中包含“张”字符且email字段中包含“test”字符的记录。
需要注意的是,like和like and条件都属于模糊查询,可能会存在查询效率低下的问题,建议在大数据量的情况下慎用。
相关问题
mybatisplus like方法怎么使用
MybatisPlus 的 like 方法可以使用 LambdaQueryWrapper 或者 QueryWrapper 来实现。
LambdaQueryWrapper 示例代码如下:
```
String keyword = "apple";
List<User> userList = userMapper.selectList(new LambdaQueryWrapper<User>()
.like(User::getName, keyword)
.or()
.like(User::getEmail, keyword));
```
QueryWrapper 示例代码如下:
```
String keyword = "apple";
List<User> userList = userMapper.selectList(new QueryWrapper<User>()
.like("name", keyword)
.or()
.like("email", keyword));
```
其中,LambdaQueryWrapper 使用了函数式接口的方式来指定字段名称,而 QueryWrapper 直接使用了字符串来指定字段名称。
mybatisplus的or
MyBatisPlus中的or()方法用于在查询条件中添加"或"关系的条件。它可以通过lambda表达式的方式来构建查询条件,例如使用eq()、like()等方法来添加具体的条件。[1]
使用or()方法可以实现复杂的查询条件的组合,尤其是在涉及到有优先级的连接时非常有用。比如,当查询条件类似于 A and (B or C) and D 的情况下,直接拼接会导致成为 A and B or C and D,这是不正确的连接方式。在这种情况下,可以使用or(Consumer consumer)和and(Consumer consumer)这两个方法来正确地构建查询条件。
使用or(Consumer consumer)方法时,参数为Consumer类型,会在连接处生成两对括号,以此提高条件的优先级。示例如下:
QueryWrapper<AttrEntity> queryWrapper = new QueryWrapper<AttrEntity>().eq("attr_type", "base".equalsIgnoreCase(type) ? 1 : 0);
queryWrapper.and(qr -> qr.eq("attr_id", key).or().like("attr_name", key));
queryWrapper.and(qr -> qr.eq("catelog_id", catelogId));
以上代码中,使用or()方法将"attr_id = key"和"attr_name like key"这两个条件组合为一个"或"关系的条件,而and()方法则将这个条件与"catelog_id = catelogId"这个条件进行了"与"关系的连接。
通过使用or()和and()方法,可以更灵活地构建复杂的查询条件,提高查询的精确度和效率。
阅读全文
相关推荐













