mybatis-plus 如何自动建表?
时间: 2025-02-13 10:14:34 浏览: 204
### 使用 MyBatis-Plus 实现自动建表功能
为了利用 MyBatis-Plus (MP) 的自动建表特性,可以借助 `Mybatis-enhance-actable` 这一扩展库。该工具允许开发者通过简单的配置,在应用程序启动时自动生成数据库表格结构。
#### Maven依赖引入
首先需在项目的pom.xml文件中加入如下依赖:
```xml
<dependency>
<groupId>com.gitee.sunchenbin.mybatis.actable</groupId>
<artifactId>mybatis-actable</artifactId>
<version>1.5.0.RELEASE</version>
</dependency>
```
此操作确保了项目能够访问到用于支持自动建表所需的相关API和组件[^3]。
#### 配置实体类
接着定义Java实体类,并为其添加特定注解以便描述对应的数据库字段属性。例如:
```java
import com.baomidou.mybatisplus.annotation.TableName;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.IsKey;
import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
@Table(name="user_info") // 表名
public class UserInfo {
@IsKey // 主键标注
private Long id;
@Column(value = "name", type = Column.Type.VARCHAR, length = 255)
private String name;
@Column(value = "age", type = Column.Type.INT)
private Integer age;
}
```
上述代码片段展示了如何声明一个名为`user_info`的数据表及其列的信息。注意这里使用的注解来自`mybatis-enhance-actable`库而非标准的 MP 注解集。
#### 启用自动建表机制
最后一步是在 Spring Boot 应用程序的主要入口处激活自动建表行为。这通常涉及到修改application.yml或properties配置文件以及编写少量初始化逻辑来触发实际的DDL语句执行过程。
对于Spring Boot应用而言,可以在主函数内注册监听器以实现在上下文加载完成后立即同步最新的模式变更至目标数据库实例上:
```java
@SpringBootApplication
public class Application {
public static void main(String[] args){
SpringApplication app = new SpringApplication(Application.class);
app.addListeners((ApplicationListener<ApplicationPreparedEvent>) event ->{
AutoTableContext.init();
});
app.run(args);
}
}
```
这段脚本的作用在于当整个IoC容器准备就绪之后调用一次静态方法`AutoTableContext.init()`从而驱动后续的一系列元数据对比与调整动作直至最终完成新版本架构部署工作。
阅读全文
相关推荐















