springboot_“整合Mybatis-Plus——IdType.AUTO局部配置不生效“

项目场景:

springboot整合Mybatis-Plus

问题描述

IdType.AUTO局部配置不生效

@TableId(value = "id", type = IdType.AUTO)
private String id;

@TableId(value = "id", type = IdType.AUTO)
private Long id;

原因分析:

解决方案:

(将Mysql记录的自增值重置一下)

  1. 先删除之前新增的所以错误ID数据

  2. 再在mysql数据库中执行:ALTER TABLE 库名.表名 AUTO_INCREMENT = 0;

### Spring Boot 整合 MyBatis-Plus 全局配置错误解决方案 在 Spring Boot 中整合 MyBatis-Plus 时,如果遇到全局配置相关的错误,通常可能是由于以下几个原因引起的: #### 1. **未正确引入依赖** 确保项目中的 `pom.xml` 文件已正确引入 MyBatis-Plus 的相关依赖。缺少必要的依赖可能导致全局配置无法生效。 ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.3.1</version> </dependency> ``` 上述代码展示了如何在 Maven 项目中引入 MyBatis-Plus 的核心依赖[^4]。 --- #### 2. **全局配置文件设置不完整** MyBatis-Plus 支持通过 `application.yml` 或 `application.properties` 配置全局参数。如果这些参数缺失或配置不当,则可能引发异常行为。 以下是一个典型的 `application.yml` 配置示例: ```yaml spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC username: root password: 123456 mybatis-plus: global-config: db-config: id-type: auto # 设置主键策略为自增 logic-delete-value: 1 # 逻辑删除字段值,默认删除状态 logic-not-delete-value: 0 # 默认正常状态 configuration: map-underscore-to-camel-case: true # 开启下划线转驼峰命名 ``` 以上配置定义了数据源以及 MyBatis-Plus 的全局属性,例如主键生成策略、逻辑删除支持等。 --- #### 3. **Mapper 接口扫描路径问题** 如果 Mapper 接口所在的包路径未被正确扫描到,可能会导致 SQL 执行失败或其他运行时异常。可以通过在启动类上添加 `@MapperScan` 注解指定 Mapper 接口所在位置。 ```java package com.sakura.mybatisplus; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.sakura.mybatisplus.generator.mapper") public class MybatisplusApplication { public static void main(String[] args) { SpringApplication.run(MybatisplusApplication.class, args); } } ``` 此代码片段显示了如何使用 `@MapperScan` 来声明 Mapper 接口的位置[^3]。 --- #### 4. **数据库连接池配置冲突** 当应用尝试连接多个不同的数据库实例时,可能出现连接池配置冲突的情况。这会导致初始化阶段抛出异常。因此,在单个项目中应确保只针对单一数据库进行配置,或者明确区分不同数据源的上下文环境。 --- #### 5. **插件注册遗漏** 某些情况下,开发者需要手动注册 MyBatis-Plus 提供的各种插件(如分页插件)。如果没有完成这一操作,部分功能将不可用。 下面是如何在 Spring Boot 应用程序中注册分页插件的一个例子: ```java import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class MyBatisPlusConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); return interceptor; } } ``` 这段代码实现了对分页插件的支持。 --- #### 总结 综合来看,Spring Boot 和 MyBatis-Plus 的集成过程中常见的全局配置错误主要包括依赖管理不足、配置项缺失、Mapper 路径设定失误等方面。逐一排查这些问题可以有效解决问题并提升系统的稳定性与性能。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值