Mybatis-Plus 条件构造器

Wrapper 我们写一些复杂的 SQL 可以用它代替

package com.jia;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jia.mapper.UserMapper;
import com.jia.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;
import java.util.Map;

@SpringBootTest
public class WrapperTest {
    @Autowired
    private UserMapper userMapper;

    // 查询 name、邮箱不为空,年龄大于等于20
    @Test
    void query1() {
        QueryWrapper wrapper = new QueryWrapper<>();
        wrapper
                .isNotNull("name")
                .isNotNull("email")
                .ge("age", 20);
        List users = userMapper.selectList(wrapper);// 查询出多个
        users.forEach(System.out::println);
    }

    // 查询 name 为 Tom
    @Test
    void query2() {
        QueryWrapper wrapper = new QueryWrapper<>();
        wrapper.eq("name", "Tom");
        List users = userMapper.selectList(wrapper); // 查询一个用 selectOne(wrapper)
        users.forEach(System.out::println);
    }

    // 模糊查询 age 在 20~25 之间的用户
    @Test
    void query3() {
        QueryWrapper wrapper = new QueryWrapper<>();
        wrapper.between("age",20,25);
        Integer count = userMapper.selectCount(wrapper); // 查询符合的用户个数
        System.out.println(count);
    }

    // 模糊查询 name 中没有 “e”,email 是以“t”开头(t%)
    @Test
    void query4() {
        QueryWrapper wrapper = new QueryWrapper<>();
        wrapper
                .notLike("name", "e")
                .likeRight("email", "t");
        List> maps = userMapper.selectMaps(wrapper);
        maps.forEach(System.out::println);
    }

    // id 在子查询中查询出来
    @Test
    void query5() {
        QueryWrapper wrapper = new QueryWrapper<>();
        wrapper.inSql("id","SELECT id FROM `user` WHERE id<3");
        List objects = userMapper.selectObjs(wrapper);
        objects.forEach(System.out::println);
    }

    // 通过 id 进行排序(从大到小)
    @Test
    void query6() {
        QueryWrapper wrapper = new QueryWrapper<>();
        wrapper.orderByDesc("id");
        List users = userMapper.selectList(wrapper);
        users.forEach(System.out::println);
    }
} 
  

 

你可能感兴趣的:(Mybatis-Plus)