# CRUD-PLUS **Repository Path**: yangjie74520/crud-plus ## Basic Information - **Project Name**: CRUD-PLUS - **Description**: CURD-PLUS - **Primary Language**: Java - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-11 - **Last Updated**: 2024-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CRUD-PLUS ## 站在巨人的肩膀上做CRUD ### 广告 25届应届毕业生,目前积极找工作中!主后端Java开发,前端基础也还行,业务有需求可转方向!有项目企业实习经历!可实习!意向广东发展!
有大佬能内推的可以issue我联系您,或者我的wx:**Print_15520182404** 感谢!!!! #### 介绍 开发本项目是因为在实习期间,遇到新的业务开发,每次都需要做单表的CRUD代码,当表数量很多的时候,即使使用代码生成插件也会有一些方法无法生成,代码生成大多基于数据库实体类进行操作,但是在实际开发中, 会跟据业务请求不同封装单独的req和resp,重复代码太多,开发效率低,因此萌生了开发了CRUD-PLUS的想法。 CRUD-PLUS是一款低代码生成器,可跟据模板内容自定义生成单表的CRUD代码,同时支持自定义方法的service和serviceImpl和req,resp的生成,让开发者专注于业务逻辑的处理 项目引入了Mybatis-Plus,可快速实现单表增删改查。 在此特别感谢
[若依/RuoYi](https://gitee.com/y_project/RuoYi)
[MAKU/maku-generator](https://gitee.com/makunet/maku-generator)
后端的单表CRUD开发是基于[若依/RuoYi](https://gitee.com/y_project/RuoYi)的代码生成模块进行开发
前端界面是基于[MAKU/maku-generator](https://gitee.com/makunet/maku-generator)进行二次开发
因此十分感谢这两个开源项目,感谢! **注意:** 项目当中依旧还存在一些不完善的地方,欢迎大家提issue,会尽力修复!
也欢迎大家fork进行自定义二次开发,有疑问可通过issue提问, #### 项目特点 **单表:**
1. 单表domain,service,serviceImp,controller,mapper,xml的生成
2. 单表req,resp的生成
3. 基于req和resp的自定义方法,service,serviceImpl的生成
**联表:**
todo 等待后续开发 ### 项目结构 ![img.png](image/img.png) 后端采用springboot3、mybatis-plus、mybatis、lombok等
前端采用vue3、element-plus、ts等
详情可参考[若依/RuoYi](https://gitee.com/y_project/RuoYi)和 [MAKU/maku-generator](https://gitee.com/makunet/maku-generator)
#### 本地启动 1. clone项目到本地,导入数据库 2. 加载maven配置,并修改数据库链接 3. 前端下载依赖 4. 后端项目启动,前端项目启动 #### 使用说明 - 如果使用自定义方法,可能会存在生成的方法返回类不符合的情况,需要自行修改, 比如方法返回设置为void,但是方法是新增方法,方法默认返回新增操作影响行数,需要自行修改
- 在创建自定义方法的时候,如果之前已经创建过了方法,那么在创建方法的最终选择请求类和响应类可选择之前创建的方法中的请求类或者响应类实现**复用**
- 在定义响应类的时候可以输入你的系统中存在的响应类,或Long,String,void等方法返回类
- 默认查询查询返回的是一个集合List - 存在以上情况需要手动进行修改一些代码 ### 效果图 ![img.png](image/img_-1.png) ![img_1.png](image/img_1.png) ![img_2.png](image/img_2.png) ![img_3.png](image/img_3.png) ![img_4.png](image/img_4.png) ![img_5.png](image/img_5.png) ![img_7.png](image/img_7.png) ![img_8.png](image/img_8.png)