若依(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

 

posted on 2025-07-20 21:56  sunylat  阅读(432)  评论(0)    收藏  举报