在SpringBoot项目开发中,为了提高开发效率,我们经常需要使用代码自动生成工具来生成一些重复性的代码,比如实体类、DAO、Service、Controller等等。下面介绍几个常用的代码自动生成工具:
MyBatis Generator是由MyBatis官方提供的一个代码自动生成工具,可以根据数据库表结构来生成Java代码,支持生成实体类、Mapper接口及对应的XML文件等。
使用MyBatis Generator比较简单,只需要在配置文件中指定数据库连接、数据表、生成的代码路径等信息,然后运行MyBatis Generator的命令即可。具体使用方法可以参考官方文档:MyBatis Generator Core – Introduction to MyBatis Generator
CodeSmith是一个功能非常强大的代码自动生成工具,支持多种语言,包括Java、C#、VB等,可以生成各种类型的代码,如实体类、DAO、Service、Controller等。
使用CodeSmith需要编写模板文件,模板文件中包含了代码生成规则和模板变量等,生成代码时会根据模板文件和数据库表结构生成对应的代码。CodeSmith提供了很多内置模板,也支持自定义模板,可以根据具体需求选择合适的模板来生成代码。具体使用方法可以参考官方文档:https://docs.codesmithtools.com/
IntelliJ IDEA是一款功能强大的Java IDE,它内置了很多实用的工具,其中就包括代码自动生成工具。在IntelliJ IDEA中,可以通过快捷键或右键菜单来生成各种类型的代码,如实体类、DAO、Service、Controller等。生成的代码可以根据模板进行自定义配置,同时也支持使用插件来扩展其功能。详细使用方法可以参考官方文档:https://www.jetbrains.com/help/idea/working-with-code.html#generate-code
利用这个也可以生成模板代码,不过需要写一些配置代码。
总之,使用代码自动生成工具可以提高开发效率和代码质量,减少代码重复性工作,同时也可以减少错误和避免手写代码产生的不一致性。选择适合自己的代码自动生成工具,可以让开发者更加轻松愉快地进行开发工作。
当然我们还可以使用TableGo自动生成代码(“TableGo使用手册.pdf ” 我已经上传需要的朋友可以直接下载或直接在这里面下载:GitHub - vipbooks/TableGo ),下面是TableGo官网地址:TableGo官网 — 基于数据库的自动化生成工具,低代码编程技术的实现,全能代码生成器,自动生成项目框架、生成JavaBean、生成前后端代码、生成数据库文档、生成API文档、自动化部署项目
下面使用sys_user表自动生成对应相关代码为例子,进行演示:
1、创建sys_user表:
CREATE TABLE `sys_user` (
`user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID',
`login_name` varchar(30) NOT NULL COMMENT '登录账号',
`user_name` varchar(30) DEFAULT '' COMMENT '用户昵称',
`user_type` varchar(2) DEFAULT '00' COMMENT '用户类型(00系统用户 01注册用户)',
`email` varchar(50) DEFAULT '' COMMENT '用户邮箱',
`phonenumber` varchar(11) DEFAULT '' COMMENT '手机号码',
`sex` char(1) DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)',
`avatar` varchar(100) DEFAULT '' COMMENT '头像图片路径',
`user_password` varchar(50) DEFAULT '' COMMENT '密码',
`salt` varchar(20) DEFAULT '' COMMENT '盐加密',
`status` char(1) DEFAULT '0' COMMENT '帐号状态(0正常 1停用)',
`del_flag` char(1) DEFAULT '0' COMMENT '逻辑删除标志(0代表存在 2代表删除)',
`login_ip` varchar(128) DEFAULT '' COMMENT '最后登录IP',
`login_date` datetime DEFAULT NULL COMMENT '最后登录时间',
`pwd_update_date` datetime DEFAULT NULL COMMENT '密码最后更新时间',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='用户信息表';
2、打开TableGo,进行连接测试
3、选择生成工具
此时就可以看到生成了对应的模板代码文件,选择自己需要的复制到项目中即可。
这种方式相较于MyBatis-plus,没有去书写较多的配置代码。个人感觉上是比较简单的一种自动生成的方法。