用acttable实现
1.引入pom依赖
<!--根据实体类生成表-->
<mybatis-enhance-actable.version>1.4.9.RELEASE</mybatis-enhance-actable.version>
.............
<dependency>
<groupId>com.gitee.sunchenbin.mybatis.actable</groupId>
<artifactId>mybatis-enhance-actable</artifactId>
<version>${mybatis-enhance-actable.version}</version>
</dependency>
2.修改配置文件application.properties或者.yml
添加如下配置
# 可以设置为create(纯创建)、add(添加新的不删除内容)、update(更新内容,推荐用)、none(啥都不干)
actable.table.auto = update
# 用于创建数据表的待扫描目录,该目录下的类如果有@Table注解,就会进行扫描
#你的实体类放的包
actable.model.pack = com.forum.entities
# 创建类型,目前仅支持mysql
actable.database.type = mysql
# mybatis-plus自有的配置信息,key也可能是:mybatis.mapperLocations
#看你用的是mybatis-plus还是mybatis,为这里用的是mybatis-plus
mybatis-plus.mapper-locations = classpath*:com/gitee/sunchenbin/mybatis/actable/mapping/*/*.xml
3.修改启动类注解
@SpringBootApplication
//mapper接口路径
@MapperScan(basePackages = {"com.gitee.sunchenbin.mybatis.actable.dao.*","com.forum.mapper"})
//扫包路径
@ComponentScan(basePackages = {"com.gitee.sunchenbin.mybatis.actable.manager.*","com.forum.*"})
@Slf4j
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
4.实体类 IBasePojo不用理会
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.forum.entities.common.IBasePojo;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* 用户表
* @作者 刘万
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("user")
public class User extends IBasePojo {
private static final long serialVersionUID = -8162322254049592409L;
@TableId(value = "id",type = IdType.AUTO)
@Column(comment = "主键id",isAutoIncrement = true)
private Integer id;
@TableField("userAccount")
@Column(comment = "用户账号")
private String userAccount = "";
@TableField("userPassword")
@Column(comment = "用户密码")
private String userPassword = "";
//不存数据库
@TableField(exist = false)
private String fansNum;
}
5.然后就小功告成了,启动你的项目试试吧
acttable官网地址:acttable
更多推荐
Mybatis/Mybatis-plus启动自动建表
发布评论