springboot整合ACTable生成数据库表方式

 更新时间:2025年02月13日 09:03:47   作者:worilb  
ACTable是一个增强Mybatis的功能框架,支持SpringBoot和SpringMvc项目,通过配置model注解即可创建、修改表结构,并实现了共通的CRUD功能

springboot整合ACTable生成数据库表

1. 痛点

我们在使用Mybatis或Mybatis-Plus时,可以用其自带的generator插件根据已经存在的数据库表生成代码(包括实体类),但是却不能通过实体类来创建、更改表。

如果你使用的是JPA,那不必烦恼,JPA有此功能。使用Mybatis系列的可以考虑使用ACTable。

2. ACTable介绍

官网复制的介绍:A.C.Table是对Mybatis做的增强功能,支持SpringBoot以及传统的SpringMvc项目结构,简单配置即可,该框架是为了能够使习惯了hibernate框架的开发者能够快速的入手Mybatis, “A.C.Table” 本意是自动建表的意思,A.C.Table是一个基于Spring和Mybatis的Maven项目,增强了Mybatis的功能,过配置model注解的方式来创建表,修改表结构,并且实现了共通的CUDR功能提升开发效率,同时能够兼容tk.mybatis和mybatis-plus,如需使用依赖相关的pom依赖即可,目前仅支持Mysql,后续会扩展针对其他数据库的支持。

3. 使用方式

先引入依赖(已经有了mysql支持和Mybatis),如果没有mysql和Mybatis请自行引入。

 <!--        生成表依赖-->
        <dependency>
            <groupId>com.gitee.sunchenbin.mybatis.actable</groupId>
            <artifactId>mybatis-enhance-actable</artifactId>
            <version>1.5.0.RELEASE</version>
        </dependency>

配置文件中进行配置

#配置模板
# actable的配置信息
actable.table.auto=update
actable.model.pack=com.yours.model
actable.database.type=mysql
actable.index.prefix=自己定义的索引前缀#该配置项不设置默认使用actable_idx_
actable.unique.prefix=自己定义的唯一约束前缀#该配置项不设置默认使用actable_uni_
# mybatis自有的配置信息,key也可能是:mybatis.mapperLocations
mybatis.mapper-locations=classpath*:com/gitee/sunchenbin/mybatis/actable/mapping/*/*.xml

我的配置:

#自动建表模式,选择更新模式
mybatis.table.auto=update
#要扫描的实体类路径
mybatis.model.pack=com.study.vue.entity
#数据库类型,目前只支持mysql
mybatis.database.type=mysql
#要用到的xml路径,固定的
mybatis.mapper-locations=classpath*:com/gitee/sunchenbin/mybatis/actable/mapping/*/*.xml

配置信息解释:

springboot2.0+启动类需要做如下配置(必备)

  • @ComponentScan配置,路径"com.gitee.sunchenbin.mybatis.actable.manager.*"
  • @MapperScan配置,路径"com.gitee.sunchenbin.mybatis.actable.dao.*"

@MapperScan({"com.gitee.sunchenbin.mybatis.actable.dao.*"} )
@ComponentScan(basePackages = {"com.gitee.sunchenbin.mybatis.actable.manager.*"})

创建完成后进入数据库查看:

@Table("t_user") //创建表时的表名,不指定名称时默认为类名
public class User {
    //字段注解,不指定名称时默认为字段名,会将驼峰字段用_分割
    @Column(name = "id",type = MySqlTypeConstant.INT,isKey = true,isAutoIncrement = true)
    private Integer id;

    @Column(name = "name",type = MySqlTypeConstant.VARCHAR)
    private String name;

    @Column(name = "phone",type = MySqlTypeConstant.VARCHAR)
    private String phone;

    @Column(name = "create_time",type = MySqlTypeConstant.DATE)
    private Date createTime;

    @Column(name = "del",type = MySqlTypeConstant.BIT,defaultValue = "0")
    private Boolean del;
}
@Table
public class Dept {

    @Column(type = MySqlTypeConstant.INT)
    @IsKey //主键,相当于isKey = true
    @IsAutoIncrement //自增,相当于isAutoIncrement = true
    private Integer id;

    @Column
    private Integer pid;

    @Column
    private String name;

    @Column
    private LocalDateTime createTime;
    @Column
    private Boolean del;

}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring Boot插件spring tool suite安装及使用详解

    Spring Boot插件spring tool suite安装及使用详解

    这篇文章主要介绍了Spring Boot插件spring tool suite安装及使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Java中实现将jar包内文件资源释放出来

    Java中实现将jar包内文件资源释放出来

    这篇文章主要介绍了Java中实现将jar包内文件资源释放出来的方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 使用Java实现视频与音频转码

    使用Java实现视频与音频转码

    这篇文章主要为大家详细介绍了如何使用Java实现视频与音频转码,即把其他视频格式转换成HTML5能播放的视频格式和把其他音频格式转换为mp3,感兴趣的小伙伴可以了解下
    2025-07-07
  • Java实现用位运算维护状态码

    Java实现用位运算维护状态码

    位运算是一种非常高效的运算方式,在算法考察中比较常见,那么业务代码中我们如何使用位运算呢,感兴趣的小伙伴快跟随小编一起学习一下吧
    2024-03-03
  • 教你怎么用Java回溯算法解数独

    教你怎么用Java回溯算法解数独

    一直不太会数独问题,这次下决定搞明白,所以整理了本篇文章,文中有非常详细的代码示例,对不会算法的小伙伴们很有帮助,需要的朋友可以参考下
    2021-06-06
  • SpringBoot之Json的序列化和反序列化问题

    SpringBoot之Json的序列化和反序列化问题

    这篇文章主要介绍了SpringBoot之Json的序列化和反序列化问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Java编程GUI中的事件绑定代码示例

    Java编程GUI中的事件绑定代码示例

    这篇文章主要介绍了Java编程GUI中的事件绑定代码示例,简单介绍了绑定的概念,然后分享了相关代码,具有一定参考价值,需要的朋友可以参考下。
    2017-10-10
  • Sa-Token不同模式实现单地登录 多地登录 同端互斥登录

    Sa-Token不同模式实现单地登录 多地登录 同端互斥登录

    这篇文章主要为大家介绍了Sa-Token不同模式实现单地登录 多地登录 同端互斥登录,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • SpringBoot实现物品点赞功能

    SpringBoot实现物品点赞功能

    这篇文章主要介绍了SpringBoot物品点赞功能实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Spring Boot 全局跨域配置与前后端联调避坑

    Spring Boot 全局跨域配置与前后端联调避坑

    本文详细解析前后端分离项目中的跨域问题,提供企业级标准的全局跨域配置方案,对比多种配置方式优劣,下面就一起来了解一下
    2026-06-06

最新评论