ssm mybatis-plus
时间: 2025-02-03 11:13:27 浏览: 37
### SSM 整合 MyBatis-Plus 配置
#### 一、引入依赖
为了使项目能够顺利运行,需在 `pom.xml` 文件中加入必要的 Maven 依赖项。这包括 Spring Boot 的启动器以及 MyBatis Plus 和数据库驱动的相关依赖。
```xml
<dependencies>
<!-- Spring Boot Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- MyBatis Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<!-- MySQL Driver (或其他数据库) -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
...
</dependencies>
```
#### 二、配置数据源与全局设置
通过 application.yml 或者 properties 文件来定义连接池参数和一些全局性的选项,比如 ID 自动生成策略等[^2]。
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
global-config:
db-config:
id-type: auto # 设置主键自增模式
```
#### 三、创建实体类映射关系
基于 Lombok 插件简化 getter/setter 方法编写工作量;同时利用@TableField 注解指定字段名对应表中的列名称。
```java
@Data
@TableName("monster")
public class Monster {
private Long id;
@TableField("name")
private String name;
}
```
#### 四、构建 Mapper 接口继承 BaseMapper
借助于 MyBatis-Plus 提供的基础 CRUD 功能接口 `BaseMapper<T>` 实现基本的数据访问层逻辑而无需额外编码[^5]。
```java
@Mapper
public interface MonsterMapper extends BaseMapper<Monster> {}
```
#### 五、注册插件支持(可选)
如果希望启用诸如分页查询等功能,则可以通过配置类注入相应的拦截器实例对象到容器当中去[^3]。
```java
@Configuration
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
```
---
对于可能出现的一些典型问题及其应对措施:
- **无法识别 XML 映射文件**:确认 resources 下是否存在正确的路径指向 SQL 脚本位置,并且确保这些资源已被正确加载到了 ClassPath 中。
- **事务管理失效**:检查是否已经启用了声明式事务传播机制 (`@EnableTransactionManagement`) 并且 Service 层方法上标注了合适的 Transactional 注解属性值。
- **性能瓶颈**:当面对大量并发请求时考虑采用读写分离架构设计思路优化 I/O 密集型操作效率;另外也可以尝试调整缓存策略减少不必要的磁盘 IO 开销。
阅读全文
相关推荐

















