阅读本文之前,可以先查阅:
核心依赖:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.4.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1.tmp</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.48</version>
</dependency>
</dependencies>
application.yml配置:
spring:
datasource:
url: jdbc:mysql://1111&autoReconnect=true&serverTimezone=CTT
username: root
password: ^^^^^
driver-class-name: com.mysql.jdbc.Driver
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
前面的是数据库源信息配置,后面的是打印sql语句.上线关闭即可.
这样的话,把生成好的mybatisplus代码放进去启动就可以了.
启动类:
@MapperScan("com.p.*.mapper")
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
分页配置
mp在分页的时候仍然需要配置一个分页的插件bean,否则分页是无效的.
配置如下:
//老版本
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
// paginationInterceptor.setOverflow(false);
// 设置最大单页限制数量,默认 500 条,-1 不受限制
// paginationInterceptor.setLimit(500);
// 开启 count 的 join 优化,只针对部分 left join
paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
return paginationInterceptor;
}
//新版
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
值得注意的是:
mapper文件都在resources/mapper/XXmapper.xml
mapper类要继承com.baomidou.mybatisplus.core.mapper.BaseMapper
public interface UserMapper extends BaseMapper<User>{}
public interface ITestService extends IService<Test>
public class TestServieImpl extends ServiceImpl<SysTestMapper, Test> implements ITestService {}
其他的一些配置:如果值是null是否参与查询、插入、修改
mybatis-plus:
global-config:
db-config:
select-strategy: not_empty
insert-strategy: not_empty
update-strategy: not_empty