一、Mybatis-Plus简介
(一)什么是Mybatis-Plus
- Mybatis-Plus是一个Mybatis(OPENS NEW WINDOW)的增强工具,在Mybatis的基础上只做增强不做改变,为简化开发。
(二)Mybatis-Plus的优势
- 无侵入:只做增强不做改变,引入它不会对现有工程产生影响。
- 损耗小:启动即会自动注入基本curd,性能基本无损耗,直接面向对象操作。
- 强大的crud操作:内置通用mAPPER、通用sERVICE,仅仅通过少量配置即可实现单表大部分crud操作,更有强大的条件构造器,满足各类使用需求。
- 支持lAMBDA形式调用:通过 lAMBDA 表达式,方便的编写各类查询条件,无需再担心字段写错
- 支持主键自动生成:支持多达4种主键策略(内含分布式唯一 id 生成器 - sEQUENCE),可自由配置,完美解决主键问题。
- 支持aCTIVErECORD模式:支持 aCTIVErECORD 形式调用,实体类只需继承 mODEL 类即可进行强大的 crud 操作。
- 支持自定义全局通用操作:支持全局通用方法注入( WRITE ONCE, USE ANYWHERE )。
- 内置代码生成器:采用代码或者 MAVEN 插件可快速生成 MAPPER 、 MODEL 、 SERVICE 、 CONTROLLER 层代码,支持模板引擎,更有超多自定义配置等您来使用。
- 内置分页插件:基于 Mybatis物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List查询。
- 内置性能分析插件:可输出 sQL 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询。
(三)Mybatis-Plus的框架结构
二、Spring-Boot整合Mybatis-Plus入门
(一)创建项目,添加依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.7</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
(二)application.properties相关配置
spring:
#?????
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/crm?useUnicode=true&characterEncoding=utf-8
username: root
password: 123456
logging:
level:
root: warn
com.bdqn.demo.mapper: trace
pattern:
console: '%p%m%n'
(三)编写实体类
@Data
@TableName("sys_user")
public class User implements Serializable {
@TableId(type = IdType.AUTO)
@TableField("usr_id")
private Long usrId;
@TableField("usr_name")
private String usrName;
private String usrPassword;
private Long usrRoleId;
private Long usrFlag;
(四)编写Mapper接口
public interface UserMapper extends BaseMapper<User> {
}
(五)测试
@SpringBootTest
class SpringBootT369PlusApplicationTests {
@Resource
private UserMapper userMapper;
@Test
public void testSelectById() { //查询主键
User user = userMapper.selectById(2L);
System.out.println("usrName:" + user.getUsrName());
}
}
三、Druid数据源简介
(一)概念与作用
Druid数据源是一款高性能、稳定、安全的数据源中间件,它主要用于Java应用程序中。Druid数据源兼容多种数据库,,如MySQL、Oracle、PostqreSQl等,可以为开发者提供一致、可靠的数据访问服务。
(二)特点与优势
Druid数据源具有以下特点和优势:
高性能:Druid数据源在性能上具有明显优势,通过多种优化策略,如二级缓存、连接池等,提高了数据访问效率
稳定可靠:Druid数据源在众多项目中得到了广泛应用,具有较高的稳定性和可靠性。
安全:Druid数据源支持加密和验证机制,保证了数据传输的安全性。
易用性:Druid数据源提供了丰富的API和配置项,方便开发者进行定制和扩展。
(三)Druid数据源的使用
(一) 引入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
(二)application.properties相关配置
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/crm?useUnicode=true&characterEncoding=utf-8
username: root
password: 123456
type: com.alibaba.druid.pool.DruidDataSource #??????Druid???
druid:
#初始化大小,最小,最大连接数
initial-size: 3
max-active: 10
min-idle: 3
#配置获取连接等待超时的时间
max-wait: 60000
#监控后台账号和密码
stat-view-servlet-log-username: admin
stat-view-servlet-log-password: admin
#配置StatFilter
filter-stat-log-slow-sql: true
filter-stat-slow-sql-millis: true
在以前项目基础上,增加对Druid连接池配置,以及SQL监控的配置,druid-spring-boot-starter默认情况下开启StatDilter的监控功能。
配置完成后,直接启动项目访问地址:http://localhost:8080/druid即可