若依(PostgreSQL版本)代码自动生成
如果还未搭建好若依(PostgreSQL版本),参考:https://www.cnblogs.com/sunylat/p/18994557
因为我使用了雪花ID做为表主键,而若依默认采用了表字段自增方式生成主键,而且,若依按照这个主键生成规则来生成对应的代码,包括JAVA代码和SQL语句,所以,使用雪花ID方式,最终若依自动生成的代码,是需要修改才能使用的!
下面是若依代码自动生成的过程:
一,准备要自动生成代码的表:
CREATE TABLE public.demo_class ( class_id int8 NOT NULL, -- 班级ID class_name varchar(100) NULL, -- 班级名称 create_by varchar(64) NULL, -- 创建者 create_time timestamp(6) NULL, -- 创建时间 remark varchar(500) NULL, -- 备注 CONSTRAINT sys_demo_pkey PRIMARY KEY (class_id) ); COMMENT ON TABLE public.demo_class IS '演示班级表'; -- Column comments COMMENT ON COLUMN public.demo_class.class_id IS '班级ID'; COMMENT ON COLUMN public.demo_class.class_name IS '班级名称'; COMMENT ON COLUMN public.demo_class.create_by IS '创建者'; COMMENT ON COLUMN public.demo_class.create_time IS '创建时间'; COMMENT ON COLUMN public.demo_class.remark IS '备注';
在数据库中生成对应的表。
二,修改若依代码自动生成模块的配置文件中的配置项:

我的对应配置文件内容:
# 代码生成
gen:
# 作者
author: ruoyi
# 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool
packageName: com.ruoyi.demo
# 自动去除表前缀,默认是false
autoRemovePre: false
# 表前缀(生成类名不会包含表前缀,多个用逗号分隔)
tablePrefix: sys_
# 是否允许生成文件覆盖到本地(自定义路径),默认不允许
allowOverwrite: false
三,如果想要建立生成代码对应的菜单,则进入菜单管理里面,设计要使用的菜单:下图是我建立的自定义菜单,用于测试代码自动生成。

四,代码自动生成:
1,导入要自动生成代码的表:

2,根据需要编辑相关信息:


确认好相关信息后,点击“提交”按钮,随后可以点击“生成代码”,直接生成选择表的相关的代码,生成成功后浏览器会自动下载,一般应该是一个zip包

zip包中包括所有JAVA代码,Vue前端代码,还有一个SQL脚本,是当前功能的菜单SQL语句,需要在对应的数据库中执行,才能正常访问对应的Vue页面。

最简单的自动代码方式,我觉得就是沿用若依当前的工程结构,和包名称规则,这样生成的JAVA代码,直接放到ruoyi-admin模块中对应位置就可以了,下面是自动生成代码在ruoyi-admin模块中的截图:

下面是自动生成的前端代码在若依前端工程里面的位置:

五,修改自动生成代码,让自动生成代码真正可以工作:
1,修改SQL语句:因为当前生成代码依然按照表主键是自动递增方式生成,所以,自动生成SQL语句直接忽略了主键ID,根本在SQL语句中没有主键字段和对应值,当然,这个SQL语句也不能正常执行了,添加上对应的主键和值之后,这个SQL语句就能够正常执行了。

通过这个截图,很明显可以确定,确实缺少主键字段名称和对应的值,需要添加上去,添加时候需要注意的问题:下面的按钮SQL的@ParentId需要替换为菜单SQL中的menu_id值,这样才正确确定了菜单的父子关系。
下面是修改后的正确SQL语句:

把正确的SQL语句在对应的数据库中执行完毕。
2,修改service的实现类,在insert的方法中,对参数类添加雪花ID的主键ID

最终的SQL语句,自动生成时候,已经加入了主键ID了,如果没有加入,则需要加入:

通过以上,就可以正常使用自动生成代码了!!
参考:
https://blog.csdn.net/weixin_43734095/article/details/113867638
https://www.cnblogs.com/kuangdaoyizhimei/p/14452736.html
浙公网安备 33010602011771号