一、什么是MyBatis-Plus?
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
MyBatis-Plus特性:
无侵入: 只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
损耗小: 启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
强大的 CRUD 操作: 内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
支持 Lambda 形式调用: 通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
支持多种数据库: 支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库
内置分页插件: 基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询
二、Lombok简介和安装
点击Marketplace搜索lombok,安装下载.
安装后需要重启idea
下图是已经安装好的lombok视图
加入lombok依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
@Data注解为类生成get/set丶toString等方法
启用IDEA的编译器
三丶快速上手mybatis-plus
1.加入mybatis-plus依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.10</version>
</dependency>
2.application.properties配置
3.启动类
4.编写实体类
5.测试
核心功能
分页查询
MyBatis-Plus内部提供了分页拦截器,只需要配置注册这个拦截器就可以实现分页
创建一个MybatisPlusConfig类
@Configuration
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor(){
return new PaginationInterceptor();
}
}
测试方法
@Test
public void testPagination() {
QueryWrapper<Demo> wrapper = new QueryWrapper<>();
wrapper.eq("user_role", "2");
Page<Demo> page = new Page<>(1, 1,true);
IPage<Demo> userPager = demoMapper.selectPage(page, wrapper);
System.out.println("总记录数:" + userPager.getTotal());
System.out.println("总页数:" + userPager.getPages());
System.out.println("当前页数:" + userPager.getCurrent());
System.out.println("每页记录数:" + userPager.getSize());
userPager.getRecords().forEach(u -> System.out.println(u));
}
四丶配置数据源
SpringBoot集成Druid数据源
1.关键依赖包 pom.xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2.application.properties添加相关配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#初始化大小,最小,最大连接数
spring.datasource.druid.initial-size=3
spring.datasource.druid.min-idle=3
spring.datasource.druid.max-active=10
#配置获取连接等待超时的时间
spring.datasource.druid.max-wait=60000
#监控后台账号和密码
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=admin
#配置StatFilter
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=2000
配置完之后启动application类,访问http://localhost:8080/druid.
出现如图