在 MyBatis-Plus 中定义实体类以使程序运行时自动创建表,你需要遵循以下步骤:

  1. 定义实体类:创建一个 Java 类来表示数据库中的表,使用 MyBatis-Plus 提供的注解来定义实体类的属性与数据库表和字段的映射关系。

  2. 使用 @TableName 注解:指定实体类对应的数据库表名。如果实体类名与表名一致,可以省略此注解。

  3. 使用 @TableId 注解:指定表的主键列,并设置主键的生成策略。

  4. 使用 @TableField 注解:指定非主键字段的映射信息。

  5. 配置 MyBatis-Plus:在配置文件中设置 MyBatis-Plus 的自动建表策略。

以下是一个具体的示例:

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;

@TableName("t_customer_business")
public class TCustomerBusiness {

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

    @TableField("business_name", columnDefinition = "VARCHAR(255) COMMENT '企业名称'")
    private String businessName;

    @TableField("business_code", columnDefinition = "VARCHAR(255) COMMENT '企业营业执照号码'")
    private String businessCode;

    @TableField("contactor", columnDefinition = "VARCHAR(255) COMMENT '联系人'")
    private String contactor;

    @TableField("address", columnDefinition = "VARCHAR(255) COMMENT '地址'")
    private String address;

    @TableField("contact_phone", columnDefinition = "VARCHAR(255) NOT NULL COMMENT '联系方式'")
    private String contactPhone;

    @TableField("state", columnDefinition = "INT COMMENT '状态0正常1禁用2删除'")
    private Integer state;

    @TableField("operator", columnDefinition = "VARCHAR(255) COMMENT '操作者'")
    private String operator;

    @TableField("create_time", columnDefinition = "DATETIME COMMENT '创建时间'")
    private Date createTime;

    @TableField("update_time", columnDefinition = "DATETIME COMMENT '更新时间'")
    private Date updateTime;

    // Getters and Setters
}

        在 application.ymlapplication.properties 配置文件中,设置 MyBatis-Plus 的自动建表策略:

mybatis-plus:
  global-config:
    db-config:
      auto: update # 可选值有 create、update、add、none
  • create:系统启动后,会将所有的表删除掉,然后根据实体类中配置的结构重新建表,该操作会破坏原有数据。
  • update:系统会自动判断哪些表是新建的、哪些字段要修改类型等,哪些字段要删除,哪些字段要新增,该操作不会破坏原有数据。
  • add:新增表/新增字段/新增索引新增唯一约束的功能,不做修改和删除(只在版本1.0.9.RELEASE及以上支持)。
  • none:系统不做任何处理。

        确保你的项目中已经包含了 MyBatis-Plus 的依赖,并且正确配置了数据库连接信息。当应用程序启动时,MyBatis-Plus 会根据配置的策略自动创建或更新数据库

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐