MyBatis-Plus整合SpringBoot及使用
MyBatis-Plus是一个为简化开发而生的MyBatis增强工具,在Java开发领域广受欢迎。它继承了MyBatis的所有特性,并且通过引入强大的功能增强,极大减少了开发者的工作量。对于使用Spring Boot开发的项目,整合MyBatis-Plus能够使数据访问层的代码更加简洁,增强开发效率。在本文中,我们将详细探讨如何在Spring Boot项目中整合MyBatis-Plus并简要介绍其使用。
Spring Boot项目中整合MyBatis-Plus的步骤
-
依赖配置
在项目的
pom.xml
文件中引入Spring Boot的依赖和MyBatis-Plus的依赖。确保你的Spring Boot版本与MyBatis-Plus版本兼容。<!-- Spring Boot starter parent --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.1.RELEASE</version> </parent> <!-- Spring Boot starter web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--MyBatis-Plus starter --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.0</version> </dependency>
-
配置数据源
在
application.properties
或application.yml
文件中配置数据库连接、Mybatis-Plus的扫描路径等信息。spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT username: root password: password mybatis-plus: mapper-locations: classpath:/mapper/*.xml type-aliases-package: com.yourcompany.project.model global-config: banner: false
-
编写Entity和Mapper
在项目中创建对应的实体类和Mapper接口。MyBatis-Plus能够通过简单的注解和继承基类
BaseMapper
来减少大量的样板代码。// Entity类示例 @Data @TableName("user") public class User { @TableId(type = IdType.AUTO) private Long id; private String name; private Integer age; private String email; } // Mapper接口示例 @Repository public interface UserMapper extends BaseMapper<User> { // 此处可以添加自定义的数据库操作方法 }
-
启动类注解
在Spring Boot的启动类中添加
@MapperScan
注解,指示Spring Boot扫描Mapper接口。@SpringBootApplication @MapperScan("com.yourcompany.project.mapper") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
基本使用
整合完成后,你可以开始享受MyBatis-Plus带来的便利性。通过继承 BaseMapper
,你的Mapper接口自动拥有了CRUD的能力,大多数的数据访问操作不再需要手写SQL。对于复杂的查询,MyBatis-Plus提供了强大灵活的查询构造器 QueryWrapper
和 UpdateWrapper
,让动态SQL的构建变得简单。
// 使用MyBatis-Plus的BaseMapper进行简单CRUD操作
@Autowired
private UserMapper userMapper;
public void testMyBatisPlus() {
// 新增用户
User user = new User();
user.setName("John Doe");
user.setAge(30);
user.setEmail("john.doe@example.com");
userMapper.insert(user);
// 查询用户
User userDb = userMapper.selectById(user.getId());
System.out.println(userDb);
// 更新用户
userDb.setAge(31);
userMapper.updateById(userDb);
// 删除用户
userMapper.deleteById(userDb.getId());
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现