Mybatis-Plus 测试方法-查询语句

package com.jt;

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

import java.util.List;

@SpringBootTest
public class TestMabits {

    //本次代码只涉及到持久层
    @Autowired
    private UserMapper userMapper;

    //1.通过id查询数据
    @Test
    public void test01(){
        int id = 1;
        User user = userMapper.selectById(id);
        System.out.println(user);
    }
    /**
     * 2.查询username="admin" status=1的数据
     * 参数: QueryWrapper 条件构造器  拼接where条件
     *原则:根据属性不为null的进行操作
     */
    @Test
    public void test02(){
        //1.构建条件构造器  通过对象封装的方法
        User user = new User();
        user.setUsername("admin").setStatus(true);
        //此对象负责把已知条件进行拼接
        QueryWrapper queryWrapper = new QueryWrapper(user);
        List<User> list = userMapper.selectList(queryWrapper);
        System.out.println(list);

        //2.手动构建条件构造器
        /**
         * 默认条件与条件之间的 连接符是 and
         * 可以加 .or
         * 大于> gt
         * 小于< lt
         * 等于= eq
         * 大于等于 >= ge
         * 小于等于<= le
         * 不等于 !=  ne
         */
        QueryWrapper<User> queryWrapper1 = new QueryWrapper<>();
        queryWrapper1.eq("username", "admin").eq("status", true);
        List<User> list1 = userMapper.selectList(queryWrapper1);
        System.out.println(list1);
    }
    //3.查询id大于1的数据
    @Test
    public void test03(){
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.gt("id", 1);

        List<User> userList = userMapper.selectList(queryWrapper);
        System.out.println(userList);
    }
    /**
     * 4.模糊查询 username 中包含admin
     * queryWrapper.like("username", "admin");  代表 username like "%admin%"
     * queryWrapper.likeLeft("username", "admin");  代表 username like "%admin"
     * queryWrapper.likeRight("username", "admin");  代表 username like "adminv"
     */

    @Test
    public void test04(){
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.like("username", "admin");
        List<User> users = userMapper.selectList(queryWrapper);
        System.out.println(users);
    }

    /**
     * 5.查询id=1,2,3,4的数据,并且按照倒叙排列
     * 升序 asc
     * 倒序 desc
     */
    @Test
    public void test05(){
        Integer[] ids = {1,2,3,4};
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        //以下语句相当于  where id in (1,2,3,4) order by id desc
        queryWrapper.in("id", ids).orderByDesc("id");
        List<User> userList = userMapper.selectList(queryWrapper);
        System.out.println(userList);
    }
    /**
     * 6.根据电话邮箱查询数据、
     *      动态查询
     *          语法:condition true 成功拼接   false 不成功不拼接
     */
    @Test
    public void test06(){
        String phone = "1813112";
        String email = "111@qq.com";
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq(StringUtils.hasLength(phone), "phone", phone)
                    .eq(StringUtils.hasLength(email), "email", email);

        List<User> users = userMapper.selectList(queryWrapper);
        System.out.println(users);
    }
    /**
     * 7.查询主键
     * sql: select id from user
     * 使用场景:一般用在关联查询时
     */
    @Test
    public void test07(){
        List<Object> list = userMapper.selectObjs(null);
        System.out.println(list);
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值