QueryWrapper, mybatisplus 中封装了大量的查询方法。用于高级查询。传入表的列和查询的值,就能反射对应的sql. 简化了查询。
更多api,查询使用,看:
https://baomidou.com/guide/wrapper.html
package cn.bitqian;import cn.bitqian.entity.User;
import cn.bitqian.mapper.UserMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.util.List;/*** @author echo lovely* @date 2020/11/17 08:19*/@SpringBootTest
public class WrapperDemo {@Autowiredprivate UserMapper userMapper;// 测试普通的条件查询@Testvoid test1() {// 条件构造器QueryWrapper<User> queryWrapper = new QueryWrapper<>();// 查询name为jack的人 并且年龄大于等于3岁queryWrapper.eq(true,"name", "Jack").ge("age", 3).between("age", 10, 20);User user = userMapper.selectOne(queryWrapper);System.out.println(user);queryWrapper.clear();}// 测试模糊查询 demo@Testvoid test2() {// 查询构造器QueryWrapper<User> userWrapper = new QueryWrapper<>();// condition 条件为 false 不包含该条件查询// LIKE '值%'userWrapper.like("name", "J").likeRight(false, "name", "e");List<User> users = userMapper.selectList(userWrapper);users.forEach(System.out::println);}// 测试子查询@Testvoid test3() {// ==> Preparing: SELECT id,name,age,email,version,// deleted,gmt_create,gmt_modify FROM user WHERE deleted=0// AND (id IN (select id from user where id < 3))QueryWrapper<User> userWrapper = new QueryWrapper<>();userWrapper.inSql("id", "select id from user where id < 3");List<Object> users = userMapper.selectObjs(userWrapper);users.forEach(System.out::println);}// order by ..@Testvoid test4() {QueryWrapper<User> userWrapper = new QueryWrapper<>();userWrapper.orderByDesc("id");List<User> users = userMapper.selectList(userWrapper);users.forEach(System.out::println);}}