一、概述
本篇主要写开启 sql的打印、 分页插件开启、条件查询
二、流程
1、sql打印开启
yml文件添加如下配置:
mybatis-plus:
# 配置slq打印日志
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
效果:
==> Preparing: SELECT id,name,age,email FROM user WHERE (id=1)
==> Parameters:
<== Columns: id, name, age, email
<== Row: 1, Jone, 18, test1@baomidou.com
<== Total: 1
2、分页插件
分页的话必须开启分页插件,否则不会分页的
新建配置类
MybatisPlusConfig
@EnableTransactionManagement
@Configuration
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
// paginationInterceptor.setOverflow(false);
// 设置最大单页限制数量,默认 500 条,-1 不受限制
// paginationInterceptor.setLimit(500);
return paginationInterceptor;
}
测试:
@Test
void testPage() {
IPage<User> page = new Page<User>(1, 3); //(当前页,页大小)
IPage<User> page1 = userService.page(page);
List<User> list = page1.getRecords();
list.forEach(System.out::println);
}
3、常用条件
需要先生成条件对象wapper
UpdateWrappe
r和QuertyWrapper
都可以做where的条件查询,两者都继承自Wrapper
// UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("id",1);
List<User> users = userMapper.selectList(queryWrapper);
users.forEach(System.out::println);
/*
* eq:等于 ne:不等于 gt:大于 ge:大于等于 lt:小于 le:小于等于
* between notbetween
* like:'%条件%' notLike likeLeft:'%王' likeRight'王%'
* isNull:字段是null isNotNull:字段不是null
* in in("age",{1,2,3})或者 in("age", 1, 2, 3) notIn
* inSql inSql("id", "select id from table where id < 3") notInSql
* groupBy orderByAsc orderByDesc orderBy(boolean condition, boolean isAsc, R... columns)
* having("sum(age) > 10")
*
* */
代码地址:https://github.com/jw-star/mybatis-plusDemo/tree/master/mybatisplusdemo
相关文章:
SpringBoot之【mybatisplus】快速上手
SpringBoot之【mybatisplus】代码生成器
SpringBoot之【mybatisplus】分页插件、条件查询、sql打印开启
SpringBoot之【mybatisplus】乐观锁