MyBatis-Plus简介
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
1.愿景
我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。、
MyBatis-Plus特性:
无侵入: 只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
损耗小: 启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
强大的 CRUD 操作: 内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
支持 Lambda 形式调用: 通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
支持多种数据库: 支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库
内置分页插件: 基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询
框架结构
2. 丰富的插件支持
MP 内置了许多实用的插件,如分页插件、乐观锁插件、性能分析插件等。这些插件可以轻松地集成到项目中,为开发过程提供更多的便利和保障。
以分页插件为例,只需简单地配置一下,即可实现分页查询功能:
@Configuration
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
3. 代码生成器
MP 还提供了强大的代码生成器,可以根据数据库表结构自动生成实体类、Mapper 接口、Service 接口以及对应的实现类。这极大地减少了开发者的工作量,提高了开发效率,同时也保证了代码的规范性和一致性。
二、Druid 数据源简介
Druid 是阿里巴巴开源的一款数据库连接池,它具有强大的监控和管理功能,能够有效地提升数据库访问性能和稳定性。
1. 高性能
Druid 采用了一系列的优化技术,如连接池的预初始化、连接的复用、SQL 语句的缓存等,大大提高了数据库连接的获取速度和执行效率。
2. 丰富的监控信息
Druid 提供了非常丰富的监控信息,包括连接池的使用情况、SQL 执行的统计信息、慢查询日志等。通过这些监控信息,开发者可以及时发现和解决系统中可能存在的性能问题。
3. 强大的扩展性
Druid 具有良好的扩展性,支持自定义扩展插件,可以根据实际需求对连接池进行定制化开发。
三、MyBatis-plus 与 Druid 数据源的整合
将 MyBatis-plus 与 Druid 数据源整合在一起,可以充分发挥两者的优势,实现更高效、更稳定的数据访问。
1. 添加依赖
首先,在项目的 pom.xml 文件中添加 MyBatis-plus 和 Druid 数据源的依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.5.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.21</version>
</dependency>
2. 配置数据源
在 application.properties 文件中配置 Druid 数据源
3. 使用 MyBatis-plus 和 Druid 数据源
完成上述配置后,我们就可以在项目中使用 MyBatis-plus 和 Druid 数据源了。在代码中,我们只需注入 Mapper 接口,即可进行数据库操作:
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getUserList() {
return userMapper.selectList(null);
}
}