前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于SSM源代码风格Java代码生成器 Maven版开箱即用 摸鱼神器

基于SSM源代码风格Java代码生成器 Maven版开箱即用 摸鱼神器

原创
作者头像
赛先生和泰先生
发布2022-02-16 11:40:57
8170
发布2022-02-16 11:40:57
举报
文章被收录于专栏:Java知识图谱

一、序言

UCode Cms 是一款Maven版的Java源代码生成器,是快速构建项目的利器。代码生成器模块属于可拆卸模块,即按需引入。代码生成器生成SSM(Spring、SpringBoot、MybatisPlus)风格的源代码。

面试时经常提到面向对象编程,实际开发中常常是面向数据库编程,随着需求的快速变化,数据库的库表结构也需要相应变化,如何根据库表结构的变化,快速响应到源代码层次,是Java代码生成器主要的关切点。

功能亮点

实时读取库表结构元数据信息,比如表名、字段名、字段类型、注释等,选中修改后的表,点击一键生成,代码成即可提现出表结构的变化。

单表快速转化restful风格的API接口并对外暴露服务。对于百余张表的数据库,使用代码生成器让开发事半功倍。

多表连接查询。多表连接查询默认不开启,需要在全局文件中手动配置。开启后代码生成器会自动读取数据库元数据信息中的主外键关系,分别生成一对一一对多多对多风格的源代码。

生成的代码接口可通过Swagger暴露。

二、运行依赖服务

代码生成器运行依赖Mysql数据库、Redis服务,版本不限。

Mysql数据库

Mysql数据库中库表结构分为两部分,一是系统运行必要的系统表(跟代码生成业务无关),二是用户自定义的库表,代码生成将会读取。

Redis服务

Redis服务跟代码生成业务无关,系统中其它业务用到Redis,因此也依赖Redis服务。

三、快速入门使用

使用demo脚手架cms demo项目,可直接跳转到步骤三。脚手架是标准的Spring Web工程,内置少量配置信息,用户替换后可快速上手。

1、前提条件

引入如下依赖是使用代码生成器功能的前提条件,其中代码生成器模块在代码生成完毕后,建议移出。

代码语言:javascript
复制
<!--ucode-cms核心依赖-->
<dependency>
   <groupId>xin.altitude.cms</groupId>
   <artifactId>ucode-cms-spring-boot-starter</artifactId>
   <version>1.3.3</version>
</dependency>
<!--代码生成器模块(非必选)-->
<dependency>
   <groupId>xin.altitude.cms.code</groupId>
   <artifactId>ucode-cms-code-spring-boot-starter</artifactId>
   <version>1.3.3</version>
</dependency>
2、全局配置

环境变量必须绑定为开发环境,代码生成器仅在开发模式下生效。打包时即使不移除相关Maven依赖,运行时在非开发环境时,相应代码不加载。建议在打包时移除。

代码语言:javascript
复制
spring:
profiles:
  active: dev
3、数据库文件

数据库脚本有两类:核心SQL和用户自定义表结构。

代码语言:javascript
复制
sql/
├── cms(必选).sql                                 // 核心脚本(必选)    

导入系统表后,用户需自定义业务表,方可体验代码生成的功能。

4、连接数据库

如果已经配置完数据库连接,则可忽略此步骤

代码语言:javascript
复制
spring:
datasource:
  # 主库数据源
  url: jdbc:mysql://localhost:3306/ucode-cms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
  username: root
  password: 123456
5、可视化界面

访问可视化界面操作需要生成代码的表

6、重启项目

勾选表结构,点击生成,重启项目,相应的代码生效。访问地址http://localhost:8080/doc.html访问接口列表。

四、高级使用

在完成简单入门体验后,需要了解代码生成的高级部分,即全局配置。在项目中搜索类名CodeProperties即可查看所有内置可供修改的参数,在全局yml文件中覆盖默认值即可完成修改,按需配置。

单表处理

当全局配置ucode.code.joinQuery = false或者使用默认配置时,则仅处理单表结构。将表名、字段名、字段类型、备注信息转化为SSM风格的源代码。

多表连接

当在全局配置ucode.code.joinQuery = true时,则手动开启主外键查询,系统会自动读取表的主外键关系,并将其转化为连接查询的源代码。

主要参数

参数

默认值

使用备注

ucode.code.projectDir

用户自定义多模块项目需要指定项目名

ucode.code.removeTablePrefix

false

根据需要是否在生成代码时移除表前缀

ucode.code.packageName

xin.altitude.front

配置用户自己的包名

ucode.code.useLombok

true

默认使用Lombok

ucode.code.filterSysTable

true

默认过滤不显示系统表

ucode.code.joinQuery

false

是否使用连接查询(默认单表查询)

ucode.code.xml.addXml

false

虽然说不建议使用XML文件编写SQL,但仍提高可开启开关

ucode.code.mapper.useCache

true

默认开启二级缓存,自定义业务缓存可关闭

补充信息

使用脚手架,快速体验入手代码生成器

代码生成器开源项目源码地址

原文地址

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、序言
    • 功能亮点
    • 二、运行依赖服务
      • Mysql数据库
        • Redis服务
        • 三、快速入门使用
          • 1、前提条件
            • 2、全局配置
              • 3、数据库文件
                • 4、连接数据库
                  • 5、可视化界面
                    • 6、重启项目
                    • 四、高级使用
                      • 单表处理
                        • 多表连接
                          • 主要参数
                            • 补充信息
                            相关产品与服务
                            云数据库 Redis®
                            腾讯云数据库 Redis®(TencentDB for Redis®)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档