В MybatisPlus условный запрос — это требование, часто встречающееся в повседневной разработке. Чтобы упростить создание условий запроса, MybatisPlus предоставляет ряд классов Wrapper для поддержки инкапсуляции условий объектно-ориентированным способом. В этой статье мы углубимся в взаимосвязь между этими классами Wrapper и способы их использования для условных запросов в реальной разработке.
Класс Wrapper в MybatisPlus в основном разделен на следующие уровни:
eq
(равный)、ne
(Нетравный)、gt
(больше, чем)ждать,Эти методы используются для построения условных выражений SQL.В реальной разработке мы обычно используем QueryWrapper или LambdaQueryWrapper для создания условий запроса. LambdaQueryWrapper больше подходит для использования синтаксиса Lambda для ссылок на поля, а QueryWrapper — для непосредственного использования строковых представлений имен полей.
Вот пример условного запроса с использованием LambdaQueryWrapper:
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(User::getName, "John") .gt(User::getAge, 18); List<User> userList = userMapper.selectList(queryWrapper);
В приведенном выше примере мы создали объект LambdaQueryWrapper и указали условия запроса, используя синтаксис Lambda. Затем мы передаем этот объект условия в метод selectList userMapper, выполняем операцию запроса и получаем результаты.
При использовании класса Wrapper также необходимо обратить внимание на следующие моменты: