Introdução ao LambdaQueryWrapper no Mybatis Plus

1. Antes de aprender LambdaQueryWrapper, vamos ver um trecho de código

(1) Classe de entidade de funcionário

@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) Use QueryWrapper para consultar informações de funcionários

QueryWrapper<Employee> 	queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("user_name",lisi);
        Employee emp = employeeService.getOne(queryWrapper);

(3) Use LambdaQueryWrapper para consultar informações de funcionários

  LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper<>();
    queryWrapper.eq(Employee::getUsername, "lisi");
    //Employee::getUsername相当于字段username

2. Por comparação, podemos descobrir que os benefícios de usar o LambdaQueryWrapper são os seguintes:

(1) Quando a estrutura da tabela muda, como @TableField(value = "user_name") é alterada para @TableField(value = "name"), desde que o alias da variável de membro da classe permaneça inalterado, ele não afetar a aquisição do resultado do programa!
(2) O QueryWrapper anterior, como um eq ("nome do campo do banco de dados", "valor"), quando projetamos campos de tabela, muitos são _spliced, é fácil inserir o nome do campo do banco de dados incorretamente! Então usamos LambdaQueryWrapper, não é necessário digitar o nome do campo do banco de dados, basta digitar o nome da corcunda correspondente da classe de entidade! ! Por exemplo:
Employee::getUsername é equivalente ao nome de usuário do campo do banco de dados. O uso do LambdaQueryWrapper tem um prompt para evitar que escrevamos o nome errado da coluna do campo

おすすめ

転載: blog.csdn.net/y516369/article/details/127447020