MyBatis-Plus条件构造器及常用接口查询方式汇总

121 阅读1分钟

一、环境搭建

1、springboot

image.png

2、jdk

image.png

3、mybatis-plus

image.png

4、mysql

image.png

5、lombok

image.png

二、测试用例

1、ge、gt、le、lt、isNull、isNotNull

@Test
public void testQuery() {
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    queryWrapper.isNull("name")
            .ge("age",12)
            .isNotNull("email");
    int result = userMapper.delete(queryWrapper);
    System.out.println("delete return count = " + result);
}

2、eq、ne

@Test
public void testSelectOne() {
	QueryWrapper<User>queryWrapper = newQueryWrapper<>();
	queryWrapper.eq("name", "Tom");
	Useruser = userMapper.selectOne(queryWrapper);//只能返回一条记录,多余一条则抛出异常
	System.out.println(user);
}

3、between、notBetween

@Test
public void testSelectCount() {
    QueryWrapper<User>queryWrapper = newQueryWrapper<>();
    queryWrapper.between("age", 20, 30);
    Integer count = userMapper.selectCount(queryWrapper); //返回数据数量
    System.out.println(count);
}

4、like、notlike、likeLeft、likeRight

@Test
public void testSelectMaps() {
	QueryWrapper<User>queryWrapper = newQueryWrapper<>();
	queryWrapper
        .select("name", "age")
        .like("name", "e")
        .likeRight("email", "5");
	List<Map<String, Object>>maps = userMapper.selectMaps(queryWrapper);//返回值是Map列表
	maps.forEach(System.out::println);
}

5、orderBy、orderByDesc、orderByAsc

@Test
public void testSelectListOrderBy() {
	QueryWrapper<User>queryWrapper = newQueryWrapper<>();
	queryWrapper.orderByDesc("age", "id");
	List<User>users = userMapper.selectList(queryWrapper);
	users.forEach(System.out::println);
}

三、查询列表

查询方式说明
setSqlSelect设置 SELECT 查询字段
whereWHERE 语句,拼接 + WHERE 条件
andAND 语句,拼接 + AND 字段=值
andNewAND 语句,拼接 + AND (字段=值)
orOR 语句,拼接 + OR 字段=值
orNewOR 语句,拼接 + OR (字段=值)
eq等于=
allEq基于 map 内容等于=
ne不等于<>
gt大于>
ge大于等于>=
lt小于<
le小于等于<=
like模糊查询 LIKE
notLike模糊查询 NOT LIKE
inIN 查询
notInNOT IN 查询
isNullNULL 值查询
isNotNullIS NOT NULL
groupBy分组 GROUP BY
havingHAVING 关键词
orderBy排序 ORDER BY
orderAscASC 排序 ORDER BY
orderDescDESC 排序 ORDER BY
existsEXISTS 条件语句
notExistsNOT EXISTS 条件语句
betweenBETWEEN 条件语句
notBetweenNOT BETWEEN 条件语句
addFilter自由拼接 SQL
last拼接在最后,例如:last(“LIMIT 1”)