基于SSM风格的Java源代码生成器

基于SSM风格的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、前提条件

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

<!--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依赖,运行时在非开发环境时,相应代码不加载。建议在打包时移除。

spring:
  profiles:
    active: dev
3、数据库文件

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

sql/
├── cms(必选).sql                                 // 核心脚本(必选)    
4、连接数据库

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

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、重启项目

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

image-20220215114641102

四、高级使用

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

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 基于SSM风格的Java源代码生成器