文章目录
1. 添加依赖
首先,确保您的项目中已经引入了 mybatis-plus-boot-starter。如果使用 MySQL,请同时引入 MySQL 驱动。
Maven (pom.xml):
xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- MyBatis-Plus 启动器 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.2</version> <!-- 请使用最新稳定版本 -->
</dependency>
<!-- MySQL 连接器 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- 其他必要的依赖,如 spring-boot-starter-web -->
</dependencies>
2. 配置数据源和 MyBatis-Plus
在 application.yml 或 application.properties 文件中,配置数据库连接信息和 MyBatis-Plus 的自动建表策略。
application.yml:
yaml
spring:
datasource:
# 根据您实际使用的数据库填写
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/your_database_name?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
username: your_username
password: your_password
mybatis-plus:
configuration:
# 开启下划线到驼峰的映射
map-underscore-to-camel-case: true
global-config:
db-config:
# 指定全局的主键策略,AUTO 为数据库自增
id-type: auto
# 配置 DDL 创建策略
# - create-drop: 启动时创建表,关闭时删除表 (会清空数据)
# - create: 启动时创建表,关闭时不删除 (会清空数据)
# - update: 启动时更新表结构,如果表不存在则创建 (推荐用于开发和生产环境)
# - validate: 启动时验证表结构是否一致,不一致则报错 (推荐用于生产环境)
ddl-auto: update # 推荐使用 update,它最安全且实用
3. 编写实体类 A.CTable
创建一个静态内部类 A.CTable,并使用 MyBatis-Plus 提供的注解来描述表结构。
java
package com.example.yourpackage; // 请替换为你的包名
import com.baomidou.mybatisplus.annotation.*;
// 使用 @TableName 注解指定映射的数据库表名
@TableName("c_table")
public class A {
// 使用 @TableId 注解指定主键,并设置策略为自增
@TableId(value = "id", type = IdType.AUTO)
private Long id;
// 使用 @TableField 注解映射普通字段
@TableField("name")
private String name;
@TableField("description")
private String description;
// 为了方便使用,通常提供 getter 和 setter 方法
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
// toString, equals, hashCode 等方法也可以加上...
}
4. 创建 Mapper 接口
为了让 MyBatis-Plus 能够管理这个实体,你需要创建一个继承自 BaseMapper<T> 的 Mapper 接口。
java
package com.example.yourpackage.mapper; // 请替换为你的 Mapper 包名
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.yourpackage.A; // 导入你的实体类
// 继承 BaseMapper<A>,获得对 A.CTable 的基本 CRUD 操作
public interface CTableMapper extends BaseMapper<A> {
}
5. 启动类添加扫描注解
最后,在你的 Spring Boot 启动类上,使用 @MapperScan 注解来扫描 Mapper 接口所在的包。
java
package com.example.yourpackage;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
// 扫描 Mapper 接口所在的包,例如 "com.example.yourpackage.mapper"
@MapperScan("com.example.yourpackage.mapper")
public class YourApplication { // 替换为你的启动类名称
public static void main(String[] args) {
SpringApplication.run(YourApplication.class, args);
}
}
总结
完成以上配置后,当您启动 Spring Boot 应用程序时,MyBatis-Plus 会根据 A.CTable 实体类的定义,在数据库中自动创建名为 c_table 的表(如果该表尚不存在),或者根据 ddl-auto 的配置更新表结构。
ddl-auto: update: 是最常用的选择,它会保留现有数据,仅同步实体类中定义的字段变化。- 实体类注解 :
@TableName,@TableId,@TableField是控制表结构映射的关键。
常见错误
-
没有给Data 设置数据库中对应的类型

解决方式:

-
字段太多,没有设置长度,数据库一个记录最大的空间为65535
