ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

mybatisPlus-wrapper条件构造器

2022-04-01 12:31:43  阅读:269  来源: 互联网

标签:QueryWrapper java 构造 lv wrapper mybatisPlus com WrapperTest


承接:mybatisPlus-性能分析插件

1 在测试包下编写一个新测试类WrapperTest.java

src/test/java/com/lv/mybatis_plus/WrapperTest.java

package com.lv.mybatis_plus;

import com.lv.mybatis_plus.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

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

2 多条件查询

src/test/java/com/lv/mybatis_plus/WrapperTest.java

@Test
void test1() {
    //查询name不为空,邮箱不为空的,并且年龄大于等于12的用户
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper
            .isNotNull("name")
            .isNotNull("email")
            .ge("age",12);
    userMapper.selectList(wrapper).forEach(System.out::println); //和我们刚才学习的map对比一下
}

运行测试查看控制台生成的sql

3 条件查询

src/test/java/com/lv/mybatis_plus/WrapperTest.java

@Test
void test2(){
    //查询名字是可乐
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.eq("name","Tom");
    User user = userMapper.selectOne(wrapper); //查询一个数据,出现多个结果使用List 或者 Map
    System.out.println(user);
}

运行,查看控制台生成的sql

4 区间条件查询

src/test/java/com/lv/mybatis_plus/WrapperTest.java

@Test
void test3(){
    //查询年龄在 22 ~ 25 岁 之间的用户
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.between("age",20,25); //区间
    Integer count = userMapper.selectCount(wrapper);//查询结果数
    System.out.println(count);
}

运行,查看控制台生成的sql

5 模糊查询

src/test/java/com/lv/mybatis_plus/WrapperTest.java

@Test
void test4(){
    //名字里面不包含a的用户
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    // likeRight右边加%,likeLeft左边加%
    wrapper
            .notLike("name","a")
            .likeRight("email","t");
    List<Map<String, Object>> maps = userMapper.selectMaps(wrapper);
    maps.forEach(System.out::println);
}

运行,查看控制台生成的sql

6 拼接子查询sql

src/test/java/com/lv/mybatis_plus/WrapperTest.java

@Test
void test5(){
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    //id 在子查询中查出来
    wrapper.inSql("id","select id from user where id<3");
    List<Object> objects = userMapper.selectObjs(wrapper);
    objects.forEach(System.out::println);
}

运行,查看控制台生成的sql

7 排序查询

src/test/java/com/lv/mybatis_plus/WrapperTest.java

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

运行,查看控制台生成的sql

其它的查询方式可以参照官方文档: 条件构造器 | MyBatis-Plus (baomidou.com)

标签:QueryWrapper,java,构造,lv,wrapper,mybatisPlus,com,WrapperTest
来源: https://www.cnblogs.com/lv1024/p/16086321.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有