mybatis plus LambdaQueryChainWrapper
阅读数:258 评论数:0
跳转到新版页面分类
python/Java
正文
一、概述
在使用mybatis plus时,我们常常先创建一个条件构造器,再通过mapper或者service以条件构造器为参数进行查询。
而LambdaQueryChainWrapper是将这两个过程合二为一,不需要手动对应字段名,直接使用User:xxx即可。
二、使用
1、获取数据的方法
page() | 分页 |
list() | 列表 |
one() | 只获取一个 |
2、创建wrapper的方法
法1:(推荐)service.lambdaQuery()
@Autowired
private UserService userService;
public void selectWrapper15() {
List<User> users = userService.lambdaQuery()
.eq(User::getAge, 30)
.list();
users.forEach(System.out::println);
}
法2:(不推荐)用new来创建,需要传入mapper
@Autowired
private UserMapper userMapper;
public void test() {
List<User> list = new LambdaQueryChainWrapper<User>(userMapper)
.select(User::getId, User::getName)
.like(User::getName, "王")
.list();
System.out.println(list);
}
3、不能使用LambdaQueryChainWrapper的地方
(1)不能使用为mapper的入参数
userMapper.selectList(queryWrapper) ;
//queryWrapper不能是LambdaQueryChainWrapper,可以是LambdaQueryWrapper
(2)不能作为saveOrUpdate条件
userService.saveOrUpdate(user, queryWrapper) ;
//queryWrapper不能是LambdaQueryChainWrapper,可以是LambdaQueryWrapper
4、使用示例
(1)多条件查询
@Autowired
private UserService userService;
public void selectWrapper15() {
List<User> users = userService.lambdaQuery()
.like(User::getName, "张")
.lt(User::getAge, 30)
.list();
users.forEach(System.out::println);
}
(2)and条件中有or
@Autowired
private UserService userService;
public void selectWrapper16() {
List<User> users = userService.lambdaQuery()
.like(User::getName, "张")
.and(user -> user.lt(User::getAge, 40).or().isNotNull(User::getEmail))
.list();
users.forEach(System.out::println);
}
相关推荐
一、AbstractWrapper
用于生成sql的where条件,当第一个入参数为boolean condition时,表示该条件是否加入最后成的sql中。
1、allEq
allEq(Map<R,
一、@SqlParser
如果在程序中,有部分SQL不需要加上租户ID的表示,需要过滤特定的sql,可以通过@SqlParser(filter = true)的形式,只能作用于
一、概述
Model是mybatis plus自带的实体父类,直接定义Bean的时候实现Model类,该类的作用是能通过实体直接进行crud操作,而不需要进行调用dao,前提是“必须存在对应的原始ma
1、pom.xml
<build>
<resources>
<resource>
<!-- xml放在java目录下--
一、示例数据
CREATE TABLE `json_test` (
`id` int NOT NULL AUTO_INCREMENT,
`roles` json DEFAULT NULL CO
mybatis-plus是一个mybatis增强版工具,为了简化开发和提高效率。
可以在idea安装一个mybatisx插件,此插件可以通过mapper中的方法定位到xml中。</