Mybatis Plus 提供了强大的查询构造器,在不写sql映射文件的情况下,完成复杂的查询和修改数据的操作。
查询构造器用于生成sql的where条件,包括QueryWrapper, UpdateWrapper, LambdaQueryWrapper, LambdaUpdateWrapper,其中后两个使用Lambda表达式。
使用起来很简单,
1、QueryWrapper的使用,支持的方法可以从Mybatis Plus官网上查到。
@RequestMapping("getCount") public int getCount(BookRequest request) { try { LambdaQueryWrapper<Book> query = new LambdaQueryWrapper<>(); query.like(Book::getName, request.getName()); return bookService.count(query); } catch (Exception e) { e.printStackTrace(); return 0; } }
查询name包含输入参数name的记录的条目数。
2、UpdateWrapper的使用,用于生成update语句的where条件
@RequestMapping("editBook") public boolean editBook(BookRequest request) { try { Book book = new Book(); book.setName(request.getName()); LambdaUpdateWrapper<Book> update = new LambdaUpdateWrapper<>(); update.eq(Book::getId, 8); return bookService.update(book, update); } catch (Exception e) { e.printStackTrace(); return false; } }
将id=8的记录的name字段的值修改为接口传入的name参数的值