【摸鱼神器】UCode Cms管理系统 内置超好用的代码生成器 解决多表连接痛点
一、序言
UCode Cms管理系统是面向企业级应用软件开发的脚手架。当前版本1.3.4。快速体验:
git clone https://gitee.com/decsa/demo-cms.git
(一)项目特点
1、源码开源
源码开源并且使用MIT开源许可协议,个人或者企业用户免费放心使用,项目源码地址:
git clone https://gitee.com/decsa/ucode-cms-vue.git
2、快速上手
新建空项目,引入相关依赖,初始化数据库,启动项目,一个项目脚手架便搭建完成,更加便捷的操作是克隆[demo项目],修改数据库连接并启动项目。
<!--ucode-cms核心依赖-->
<dependency>
<groupId>xin.altitude.cms</groupId>
<artifactId>ucode-cms-spring-boot-starter</artifactId>
<version>1.3.4</version>
</dependency>
(二)项目的内在逻辑
市面上各种管理系统做的非常好,作者无意重复造轮子,简要本项目的初衷。
大部分管理系统属于大杂烩性质的,说的难听点是堆砌功能,其实很多时候仅仅是想用其做个项目初始环境脚手架而已,并不想用过多的功能,齐全的功能此时却是累赘。
第一个特点:积木式结构。积木式结构允许使用者在核心依赖的基础上自由选择功能模块,体现的思想是功能复用,减少无意义的功能开发。
第二个特点:暴露配置。隐藏源码,暴露配置意味着使用者既能通过配置文件修改系统行为,又能较少的与不相干源码打交道。
第三个特点:标准化代码。鼓励使用者按照项目的框架提炼公共代码,按照类似插件性质予以封装,为本项目添砖加瓦。
1、标准化
标准化是UCodeCms项目的核心内涵,即将通用性的功能浓缩成不可修改的互相独立的Maven依赖,用户使用时可按需配置。
2、高内聚低耦合
广泛使用高内聚低耦合设计原则,将用户很少修改的源码进行封装,同时对外提供可供修改配置的开关,降低使用成本。
3、积木式项目结构
核心依赖仅需要引入ucode-cms-spring-boot-starter便可初始化项目,starter内置其余核心依赖。
在核心依赖的基础上定义了可选依赖:代码生成器模块、系统UI模块、系统监控模块、任务调度模块、Excel模块。可选依赖类似于积木,按需选配。
二、项目细节
(一)项目结构
UCode Cms源码项目结构如下
├── cms-ui // 系统UI部分源码
├── sql // 系统数据库SQL脚本
├── ucode-cms-admin // 测试demo项目(非必选)
├── ucode-cms-code // 代码生成器源码
├── ucode-cms-code-spring-boot-starter // 代码生成器starter
├── ucode-cms-common // 通用代码部分(核心依赖、可跨项目使用)
├── ucode-cms-excel // Excel处理模块源码
├── ucode-cms-framework // 核心依赖
├── ucode-cms-job // 任务调度源码
├── ucode-cms-monitor // 系统监控源码
├── ucode-cms-spring-boot-starter // 核心starter
├── ucode-cms-system // 系统部分源码
└── ucode-cms-ui // 系统UI部分依赖
(二)项目依赖
UCode Cms使用的是热门主流框架依赖。
| 依赖 | 版本 |
|---|---|
| JDK | 1.8 |
| Spring Framework | 5 |
| Spring Boot | 2.6.3 |
| Mybatis Plus | 3.5.0 |
| hutool | 5.7.19 |
| Guava | 31.0.1-jre |
(三)特色功能
CmsConfig配置类控制系统运行的行为,所有内置的配置可以在全局配置文件中修改。
1、代码生成器
通过可视化界面勾选库表结构,即可达到本地化快速生成代码的效果。对于表间含有外键关系的库表结构同样支持,一对一、一对多、多对多可无缝衔接。 快速体验:
git clone https://gitee.com/decsa/demo-code.git

2、内置接口列表
项目出厂时便自带接口列表特性,可快速实现接口联调与对接,降低沟通成本。

可在全局配置文件中开启或者关闭接口列表。
3、可视化任务调度
可视化任务调度模块需要单独引入,对于任务调度的管理非常友好。

引入依赖
<!--定时任务依赖(非必选)-->
<dependency>
<groupId>xin.altitude.cms.job</groupId>
<artifactId>ucode-cms-job</artifactId>
<version>1.3.4</version>
</dependency>
全局配置文件启用
ucode.job.enabled: true
三、如何使用
(一)核心依赖
Maven对外提供的依赖清单如下:
<!--ucode-cms核心依赖-->
<dependency>
<groupId>xin.altitude.cms</groupId>
<artifactId>ucode-cms-spring-boot-starter</artifactId>
<version>1.3.4</version>
</dependency>
(二)可选依赖
可选依赖有两重含义:一是 ucode-cms-spring-boot-starter中未包含的依赖可按需添加,二是 ucode-cms-spring-boot-starter中包含尚使用不到的依赖可按需移除。
1、通用代码
通用代码依赖可跨项目使用,不仅限于此项目。其中内置的工具类EntityUtils在MybatisPlus多表连接查询中发挥重要作用。
<dependency>
<groupId>xin.altitude.cms.common</groupId>
<artifactId>ucode-cms-common</artifactId>
<version>1.3.4</version>
</dependency>
2、可视化界面
可根据需要是否引入可视化界面。
<dependency>
<groupId>xin.altitude.cms.ui</groupId>
<artifactId>ucode-cms-ui</artifactId>
<version>1.3.4</version>
</dependency>
3、定时任务
若有定时任务可视化管理的需求,可引入此模块。
<dependency>
<groupId>xin.altitude.cms.job</groupId>
<artifactId>ucode-cms-job</artifactId>
<version>1.3.4</version>
</dependency>
4、系统监控
若有系统监控的需求,可引入此模块。
<dependency>
<groupId>xin.altitude.cms.monitor</groupId>
<artifactId>ucode-cms-monitor</artifactId>
<version>1.3.4</version>
</dependency>
5、表格处理
<dependency>
<groupId>xin.altitude.cms.excel</groupId>
<artifactId>ucode-cms-excel</artifactId>
<version>1.3.4</version>
</dependency>
如果在使用过程中有任何疑问,欢迎与我联系。
【摸鱼神器】UCode Cms管理系统 内置超好用的代码生成器 解决多表连接痛点的更多相关文章
- 【摸鱼神器】UI库秒变LowCode工具——列表篇(一)设计与实现
内容摘要: 需求分析 定义 interface 定义 json 文件 定义列表控件的 props 基于 el-table 封装,实现依赖 json 渲染 实现内置功能:选择行(单选.多选),格式化.锁 ...
- Thief-Book 上班摸鱼神器
Thief-Book 上班摸鱼神器 介绍 Thief-Book 是一款真正的摸鱼神器,可以更加隐秘性大胆的看小说. 隐蔽性 自定义透明背景,随意调整大小,完美融入各种软件界面 快捷性 三个快捷键,实现 ...
- vscode插件(摸鱼神器-小霸王游戏机
vscode插件(摸鱼神器-小霸王游戏机 步骤 vscode扩展搜索小霸王,点击下载即可. 使用 默认有一个demo小游戏,即超级玛丽. 本地仓库 可以通过local菜单上的添加按钮添加本地nes r ...
- 【摸鱼神器】基于SSM风格的Java源代码生成器 单表生成 一对一、一对多、多对多连接查询生成
一.序言 UCode Cms 是一款Maven版的Java源代码生成器,是快速构建项目的利器.代码生成器模块属于可拆卸模块,即按需引入.代码生成器生成SSM(Spring.SpringBoot.Myb ...
- 【转】让Chrome化身成为摸鱼神器,利用Chorme运行布卡漫画以及其他安卓APK应用教程
下周就是十一了,无论是学生党还是工作党,大家的大概都会有点心不在焉,为了让大家更好的心不在焉,更好的在十一前最后一周愉快的摸鱼,今天就写一个如何让Chrome(google浏览器)运行安卓APK应用的 ...
- 在IDEA中使用JSP中的out内置对象,out.println()——println红色解决方法
今天在学习JSP的时候,在jsp中使用out内置对象,开发工具用的是IDEA,结果如下图所示 郁闷了半天找度娘,可能关键字输的不准确,乱七八糟的方法一大堆,什么加依赖啊啥的,反正都不管用,最后找到一篇 ...
- 微信内置浏览器不支持 onclick 如何解决?(原因是因为内面中的内容或者标签大部分是动态生成的)
使用了很多onclick事件,但是在Android的微信内置浏览器中,onclick是不能被执行的. 开始的写法是: // $(".contentPic").click(funct ...
- 【摸鱼神器】一次搞定 vue3的 路由 + 菜单 + tabs
做一个管理后台,首先要设置路由,然后配置菜单(有时候还需要导航),再来一个动态tabs,最后加上权限判断. 这个是不是有点繁琐?尤其是路由的设置和菜单的配置,是不是很雷同?那么能不能简单一点呢?如果可 ...
- 【摸鱼神器】UI库秒变LowCode工具——列表篇(二)维护json的小工具
上一篇介绍了一下如何实现一个可以依赖 json 渲染的列表控件,既然需要 json 文件,那么要如何维护这个 json 文件就成了重点,如果没有好的维护方案的话,那么还不如直接用UI库. 所以需要我们 ...
随机推荐
- vue2.0多页面开发
我们平常用vue开发的时候总觉得vue好像就是专门为了单页面应用而诞生的,其实不是.因为vue在工程化开发的时候很依赖webpack,而webpack是将所有的资源整合到一块,弄成一个单页面.但是vu ...
- IE播放音频踩坑之路---待修改
在其他浏览器都是兼容的!在IE9就是显示一个黑色的框上面有个X 音乐无法播放 要显示播放界面的话,要添加 controls 属性(控件属性)例子:<audio src="xxx.m ...
- CAS学习笔记四:CAS单点登出流程
CAS 的登出包含两种情况,一种是CAS客户端登出,另一种是CAS单点登出,使用流程图说明这两者的不同.(一图胜千言) 总结自官方文档 CAS客户端登出流程 如图,客户端的登出仅仅是过期当前用户与客户 ...
- 简述ASP.NET网站开发步骤
新建解决方案 清除解决方案 重新生成解决方案 发布应用程序 设置配置文件 重命名配置文件 发布后生成的文件 IIS安装 安装完成后,输入http://localhost/出现 打开IIS 添加自己的网 ...
- 【刷题-LeetCode】211. Add and Search Word - Data structure design
Add and Search Word - Data structure design Design a data structure that supports the following two ...
- CTFSHOW-SSRF篇
之前就想着写一下 ctfshow 的 wp, 但由于时间问题,一直没有机会, 其实是懒≥.≤ 这次趁着寒假刷几篇ctfshow的文章 那,开始吧. web351 存在一个flag.php页面,访问会返 ...
- 从服务端生成Excel电子表格(Node.js+SpreadJS)
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,通常用于创建网络应用程序.它可以同时处理多个连接,并且不像其他大多数模型那样依赖线程. 对于 Web 开发者来说,从数据库 ...
- jsp加载css失效的解决方法
问题: 有时候大家修改了css文件里的样式,但是刷新浏览器,利用工具看样式的时候,发现样式根本没加载或者说没更新, 其实这出现的问题就是缓存的问题 解决: 如何避免发生这种事,其实很简单,只需要每次请 ...
- python 小兵(4)之文件操作 小问题
1.光标不对就用seek 2.文件操作方面注意不要变修改变删除,会爆出文件正在运行不能操作 3.w模式下只有开始打开的时候会清空 4.文件操作的时候用as 后面的参数进行操作,不能用文件名进行操作 5 ...
- Java中的String,StringBuilder,StringBuffer三者的区别?
package com.aaa.zxf.ajax.test; /** * 弄清楚 string stringBuilder StringBuffer 三者之间的关系? * * * 一. 三者都是用来对 ...