LambdaQueryWrapper<Object> query = new LambdaQueryWrapper<>()查询
时间: 2023-08-28 19:17:29 浏览: 190
这是一段使用了Lambda表达式的MyBatis-Plus的查询语句,通过LambdaQueryWrapper来构造查询条件。其中的Object表示要查询的实体类,可以替换为具体的实体类名称。
LambdaQueryWrapper提供了一些方法来构建查询条件,比如eq、ge、le、like等,可以根据需要来组合使用。最终会生成相应的SQL语句,从而查询出符合条件的数据。
相关问题
LambdaQueryWrapper<Object> query = new LambdaQueryWrapper<>()查询使用案例
LambdaQueryWrapper是MyBatis-Plus提供的强大的查询条件构造器,可以通过它来构建复杂的查询条件。下面是一个使用案例。
假设我们有一个User实体类,包含id、name、age三个属性。我们想要查询年龄大于等于18岁的用户,代码如下:
```
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.ge(User::getAge, 18);
List<User> userList = userMapper.selectList(queryWrapper);
```
首先通过new LambdaQueryWrapper<>()创建一个LambdaQueryWrapper对象,然后通过ge方法设置查询条件:User::getAge表示获取User对象的age属性,18表示大于等于的值。
最后,调用userMapper.selectList(queryWrapper)方法执行查询,得到符合条件的User列表。
除了ge方法,还有很多其他方法可以用来构建查询条件,具体可以参考MyBatis-Plus官方文档。
@RestController @RequestMapping("/dish") @Slf4j public class DishController { @Autowired private DishService dishService; @Autowired private DishFlavorService dishFlavorService; @Autowired private CategoryService categoryService; /** * 新增菜品 * @param dishDto * @return */ @PostMapping() public R<String> save(@RequestBody DishDto dishDto){ dishService.saveWithFlavor(dishDto); return R.success("新增菜品成功!!"); } @GetMapping("/page") public R<Page> page(int page,int pageSize,String name){ //构造一个分页构造器对象 Page<Dish> objectPage = new Page<>(page, pageSize); Page<DishDto> dishDtoPage = new Page<>(); //条件构造器 LambdaQueryWrapper<Dish> queryWrapper = new LambdaQueryWrapper<>(); //添加过滤条件 queryWrapper.like(name!=null,Dish::getName,name); //添加排序条件 queryWrapper.orderByDesc(Dish::getUpdateTime); //执行分页查询 dishService.page(objectPage,queryWrapper); //对象拷贝 BeanUtils.copyProperties(objectPage,dishDtoPage,"records"); List<Dish> records = objectPage.getRecords(); List<DishDto> list = records.stream().map((item)->{ DishDto dishDto = new DishDto(); BeanUtils.copyProperties(item, dishDto); Long categoryId = item.getCategoryId();//分类id Category category = categoryService.getById(categoryId);//根据id查询分类对象 if (category != null){ String categoryName = category.getName(); dishDto.setCategoryName(categoryName); } return dishDto; }).collect(Collectors.toList()); dishDtoPage.setRecords(list); return R.success(objectPage); } } 请备注一下这段代码
这段代码是一个基于Spring Boot框架的RestController,其中包含了两个接口:一个是新增菜品的接口,另一个是分页查询菜品的接口。其中,新增菜品的接口使用了POST请求方式,接收一个DishDto对象作为参数,返回一个R<String>对象;分页查询菜品的接口使用了GET请求方式,接收三个参数:page、pageSize和name,返回一个R<Page>对象。在分页查询菜品的接口中,使用了LambdaQueryWrapper进行条件查询和排序,同时使用了BeanUtils进行对象拷贝,最终返回一个包含DishDto对象的Page对象。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![jar](https://img-home.csdnimg.cn/images/20210720083455.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)