# mlc-server **Repository Path**: firecoc/mlc-server ## Basic Information - **Project Name**: mlc-server - **Description**: 项目全称MusicLifeCircle,本仓库为服务端。为前端提供REST数据接口服务, 系统架构选型Springboot + Jpa +CodeMaker(自制代码生成器),管理端使用vue框架实现前后端分离。 小体量,轻便开发,内置逆向工程,妈妈再也不用担心我要手敲代码了! - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2022-01-11 - **Last Updated**: 2022-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mlc-server ### 介绍 项目全称MusicLifeCircle,本仓库为服务端。为前端提供数据接口服务。系统架构选型Springboot + Jpa +CodeMaker(自制代码生成器),管理端使用vue框架实现前后端分离。 小体量,轻便开发,内置逆向工程,妈妈再也不用担心我要手敲代码了! ### 软件架构 后端 Springboot + Jpa + MySQL + CodeMaker 前端 vue + ElementUI 注:本项目仅为server部分,前端项目连接:https://gitee.com/firecoc/mlc-admin.git ### 原料准备 JDK8、IDEA2020+、Maven3.3.0+、MySQL8.0+ ### 使用说明 1. 项目搭建: 下载源码,用IDEA打开项目根目录 /mlc-server/code,导入根pom.xml文件,刷新maven等待加载即可; 注:java compiler一定要用jdk8 2. 数据库配置: 项目加载完成后,定位到 /mlc-server/code/api/src/main/resources/application.yaml 文件,修改数据库配置为你能用的库; 这里默认数据库名为mlc,到数据库下执行/mlc-server/sql/mlc.sql文件生成可用库表; 3. 参数配置: application.yaml文件中可修改你可用的端口和项目根路径(这里默认80端口,根路径/mlc); 4. 执行启动: 启动文件,定位到 /mlc-server/code/api/src/main/java/com/mlc/api/Application.java,执行即可; ### 结构说明 项目结构分为4层: - api(controller层) - core(service层) - data(数据库交互层) - utils(工具类模块) 依赖关系:api --> core --> data --> utils ### 目录结构 ~~~ code -----------------------------------------------------------(项目根目录) |---api -----------------------------------------------------(api模块根目录) |---pom.xml |---src |---main |---java |---com |---mlc |---api |---Application.java ---------------(入口启动类) |---config |---RouteFilter.java ---------(拦截器配置类) |---controller |---UserController.java |---resources |---application.yaml -----------------------(spring配置文件) |---core ---------------------------------------------------(core模块根目录) |---pom.xml |---src |---main |---java |---com |---mlc |---core |---CoreConfiguration.java |---service |---UserService.java |---serviceImpl |---UserServiceImpl.java |---data ---------------------------------------------------(data模块根目录) |---data.iml |---pom.xml |---src |---main |---java |---com |---mlc |---data |---dao |---UserDao.java |---DataConfiguration.java |---entity |---User.java |---pom.xml |---utils -------------------------------------------------(utils模块根目录) |---pom.xml |---src |---main |---java |---com |---mlc |---utils |---commom |---ConvUtil.java |---DateUtil.java |---FileUtil.java |---PathUtil.java |---enums |---CodeType.java |---maker -------------------(CodeMaker逆向工程) |---UtilsConfiguration.java |---resources |---application-mysql.yml |---jpa |---Controller.java.vm |---Dao.java.vm |---Entity.java.vm |---Service.java.vm |---ServiceImpl.java.vm |---test |---java |---com |---mls |---utils |---maker |---Maker.java ----------(CodeMaker执行程序) ~~~ ### 自制框架 CodeMaker逆向工程:根据数据库表结构,自动生成基础代码,并放到到各层对应目录。 1. 使用前,需要先在数据库建好表,并修改 /mlc-server/code/utils/src/main/resources/application-mysql.yml 配置文件,对应建表的数据库连接配置; 2. 定位到 /mlc-server/code/utils/src/test/java/com/mls/utils/maker/Maker.java 即上图中的CodeMaker执行程序; 3. 修改maker方法,将tableNames数组中改为你需要新增的一个或多个表名,执行maker方法即可; 注:重复执行不覆盖文件,若需更新,先删除需要更新的文件。 ### 赠言 本项目特点为CodeMaker逆向工程框架,但是生成的接口代码风格为REST API,从而使得各个部分独立存在,不具有关联性。若需要丰富关系的代码生成器,可根据需求编写框架所需的模板文件: 1. 参考模板文件路径:/mlc-server/code/utils/src/main/resources/jpa 2. 输出路径配置文件:/mlc-server/code/utils/src/main/resources/application-mysql.yml