MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus 中的所有功能都是通过 Java 注解和 AOP 来实现,不需要修改任何 MyBatis 的配置。
定义
MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
使用方法
- 添加依赖
在
pom.xml文件中添加 MyBatis-Plus 的依赖。<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本</version> </dependency> - 配置数据源
在
application.properties或application.yml文件中配置数据库连接信息。spring: datasource: url: jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC username: 用户名 password: 密码 driver-class-name: com.mysql.cj.jdbc.Driver - 配置 MyBatis-Plus
在 Spring Boot 应用的主类或者配置类上添加
@MapperScan注解,指定 Mapper 接口所在的包路径。@SpringBootApplication @MapperScan("com.example.demo.mapper") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } - 创建实体类
定义一个 Java 实体类,并使用注解指定表名和字段名。
@Data @TableName("table_name") public class EntityName { @TableId(value = "id", type = IdType.AUTO) private Long id; private String name; // 其他字段 } - 创建 Mapper 接口
创建一个继承
BaseMapper的 Mapper 接口。@Mapper public interface MapperName extends BaseMapper<EntityName> { // 自定义查询等 } - 使用 Mapper 接口
在服务类或者控制器中注入 Mapper 接口,并使用其提供的方法。
@Service public class ServiceName { @Autowired private MapperName mapper; public List<EntityName> findAll() { return mapper.selectList(null); } }
优势
-
简化开发:提供丰富的 CRUD 功能,减少开发量。
-
高效灵活:通过 Java 注解和 AOP 实现,不影响 MyBatis 配置。
-
代码生成器:支持代码自动生成,一键生成 Entity、Mapper、Mapper XML、Service、Controller 等。
-
集成多种数据库:支持多种数据库,如 MySQL、Oracle、SQL Server 等。
-
插件扩展:提供多种插件,如分页插件、性能分析插件等。
-
代码清晰:代码结构清晰,易于维护和阅读。 通过以上特点,MyBatis-Plus 在提高开发效率、简化数据库操作方面具有明显优势。