Mybatis Plus 中的LambdaQueryWrapper简介
1.学习LambdaQueryWrapper之前我们先看一段代码
(1)员工实体类
@Data public class Employee implements Serializable { @TableId(value = "id") private Long id; @TableField(value = "user_name") private String username; @TableField(value = "password") private String password; @TableField(value = "phone") private String phone; @TableField(value = "id_number") }
(2)使用QueryWrapper来查询员工信息
QueryWrapper<Employee> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("user_name",lisi); Employee emp = employeeService.getOne(queryWrapper);
(3)使用LambdaQueryWrapper来查询员工信息
LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Employee::getUsername, "lisi"); //Employee::getUsername相当于字段username
2.通过对比,我们可以发现使用LambdaQueryWrapper的好处如下:
(1)当表结构发生改变时,如@TableField(value = “user_name”) 更改为 @TableField(value = “name”)只要类的成员变量别名不变,就不会影响到程序结果的获取!
(2) 以前的QueryWrapper比如一个eq(“数据库字段名字”,“值”),我们在表字段设计时,很多都是_拼接的,很容易把数据库字段名输入错误!所以我们使用LambdaQueryWrapper,不需要输入数据库字段名字,输入实体类的对应驼峰命名即可!!比如:
Employee::getUsername相当于数据库字段username,使用 LambdaQueryWrapper有提示,可以防止我们写错字段列名