springboot整合mybatis-plus和druid实现增删改查
时间: 2025-07-10 17:58:45 浏览: 13
### Spring Boot 集成 MyBatis-Plus 和 Druid 实现 CRUD 操作
#### 项目依赖配置
为了在Spring Boot项目中集成MyBatis-Plus和Druid数据源,需要修改`pom.xml`文件以引入必要的依赖项。
```xml
<dependencies>
<!-- Spring Boot Starter -->
<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.2</version>
</dependency>
<!-- Druid 数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.8</version>
</dependency>
<!-- MySQL JDBC Driver -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
```
上述代码展示了如何通过Maven管理工具向Spring Boot应用添加所需的组件[^1]。
#### 应用程序属性设置
接着,在项目的`application.yml`或`application.properties`文件里定义数据库连接参数以及Druid监控页面的相关配置:
```yaml
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
username: root
password: 123456
# 初始化大小,最小,最大
initial-size: 5
min-idle: 5
max-active: 20
...
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
```
这段配置指定了MySQL作为目标数据库,并设置了Druid连接池的行为特性;同时也告知了MyBatis-Plus去哪里寻找映射器接口及其XML文件的位置。
#### 创建实体类与Mapper接口
假设有一个名为User的表,则可以创建对应的Java Bean `User.java` 来表示该表格结构。之后编写相应的Mapper接口继承自BaseMapper<T>, T即为所关联的对象类型。
```java
package com.example.demo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("user")
public class User {
private Long id;
@TableField("name")
private String name;
private Integer age;
}
```
对于Mapper部分:
```java
package com.example.demo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {}
```
这里利用Lombok插件简化getter/setter方法声明,并采用注解方式标注字段对应关系。
#### 编写服务层逻辑
通常会封装一层Service用于处理业务需求,比如增删改查等功能。下面是一个简单的例子展示怎样调用Mapper完成基本的数据访问操作。
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getAllUsers() {
return userMapper.selectList(null);
}
public boolean saveOrUpdate(User user){
return userMapper.insert(user) > 0 || userMapper.updateById(user) > 0 ;
}
// 更多CRUD方法...
}
```
最后一步就是构建控制器(Controller),以便能够接收HTTP请求并返回响应给前端客户端。这不在当前讨论范围内,但遵循RESTful API设计原则即可轻松实现这一功能。
阅读全文
相关推荐


















