欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mybatis-plus实现条件查询

程序员文章站 2022-03-11 21:48:57
...

Mybatis-plus实现条件查询(复杂查询)

教程目录:
教程一: Mybatis-plus使用教程
教程二:mybatis-plus的字段自动填充
教程三:Mybatis实现物理删除和逻辑删除
教程四:Mybatis-plus实现乐观锁
教程五:Mybatis-plus实现条件查询

扫码关注公众号,更多资料尽在掌握。
Mybatis-plus实现条件查询

1.我们一般都会用到条件查询,下面来看看mybatis-plus中几个常见的条件查询,思路很简单,创建QueryWrapper对象,然后再调用各种方法。 然后把wrapper对象,传过去即可。

  //条件查询(复杂查询)
    @Test
    public void testSelectQuery(){
        //创建对象
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        //通过wrapper设置条件。

         //ge gt  le lt
         //>= >  <= <
        //查询age >= 30 的记录
        wrapper.ge("age",30);
//        List<User> users = userMapper.selectList(wrapper);
//        System.out.println(users);

        //  eq (=)  ne (!=)
        //表示查询name等于“修改了”的数据。
        wrapper.eq("name","修改了");
        //表示查询name不等于“修改了”的数据。
        wrapper.ne("name","修改了");
//        List<User> users1 = userMapper.selectList(wrapper);
//        System.out.println(users1);

        //between
        //查询年龄在20  - 35之间的。
        wrapper.between("age",20,35);
//        List<User> users2 = userMapper.selectList(wrapper);
//        System.out.println(users2);


        //like
        //模糊查询
        wrapper.like("name","了");
//        List<User> users3 = userMapper.selectList(wrapper);
//        System.out.println(users3);

        //orderByDesc
        //根据id降序排列
        wrapper.orderByDesc("id");


        //last
        //拼接语句
        wrapper.last("limit 1");



        //查询指定的列
        //就表示只会查出id和name字段。
        wrapper.select("id","name");
        List<User> users = userMapper.selectList(wrapper);
        System.out.println(users);
    }

1 ge gt le lt
分别是: >= 、 > 、 <=、 <。

例如查询年龄>=30的所有数据。

  QueryWrapper<User> wrapper = new QueryWrapper<>();
        //通过wrapper设置条件。
         //ge gt  le lt
         //>= >  <= <
        //查询age >= 30 的记录
        wrapper.ge("age",30);
        List<User> users = userMapper.selectList(wrapper);
        System.out.println(users);

其他的如法炮制。

2 eq ne
分别是等于和不等于。

   //表示查询name等于“修改了”的数据。
        wrapper.eq("name","修改了");
        //表示查询name不等于“修改了”的数据。
        wrapper.ne("name","修改了");
        List<User> users1 = userMapper.selectList(wrapper);
        System.out.println(users1);

3.between
范围查询,查询数据在某某之间的。

//查询年龄在20  - 35之间的。
        wrapper.between("age",20,35);
        List<User> users2 = userMapper.selectList(wrapper);
        System.out.println(users2);

4.like
模糊查询。

 //模糊查询
 //查询姓名中包含“了”的数据
        wrapper.like("name","了");
        List<User> users3 = userMapper.selectList(wrapper);
        System.out.println(users3);

5.orderByDesc 、orderByAsc
降序排列、升序排列。

 //orderByDesc
        //根据id降序排列
        wrapper.orderByDesc("id");

6.last
在最后拼接语句。

//表示在sql语句后面添加这个条件。
 wrapper.last("limit 1");

7.查询指定的列。

//查询指定的列
        //就表示只会查出id和name字段。
        wrapper.select("id","name");
        List<User> users = userMapper.selectList(wrapper);
        System.out.println(users);