- 一、什么是代码生成器
- 0.视频介绍
- 1.做生成器的初衷
- 2.以前定做课设
- 3.现在定做课设
- 4.资源内容
- 二、代码生成器的使用
- 1.文件目录介绍
- 2.启动系统
- 3.使用教程
- 3.1界面
- 3.2 生成
- 3.3 配置项
- 通用配置
- Javaweb配置
我是一个已经毕业的学长,大三发现定做课程设计,可以帮自己赚取生活费,又巩固了基础知识,可以说是自身双赢了。在大四实现完全经济独立。
现在已经出来工作,已经没什么经历做课设了,如果你对生成器感兴趣,或者想在学习的状态下赚一些零花钱,不妨通过以下视频和文章了解一下。
B站演示视频:https://www.bilibili.com/video/BV14q4y137Pa?spm_id_from=333.999.0.0
我做了一个课程设计代码生成器,一键生成C、数据结构、C#、Java、数据库课设
1.做生成器的初衷我们定做课设,内容包括C语言 C++面向对象 还有C#管理系统 JavaSwing JavaWeb系统,数据库课设,做多了以后,发现我们无非就是在做各种管理系统,他们都离不开增删改查,内容本质上来说都是一样的。而程序最擅长的就是重复性工作,有没有办法做个生成器来帮我们写代码呢?
我们只要做简单的设置,就能自动生成一个功能齐全的系统!
2.以前定做课设下面介绍一下我是怎么一步一步做到通过配置,一键生成C、Java窗体、JavaWeb,C#窗体、数据库课设!
回顾一下之前做课设的场景:
我们要做一个学生信息管理系统、图书管理系统
①【学生信息管理系统】功能需求:添加学生、删除、修改学生,根据学号 名字 性别来查找学生,保存到文件,并且系统可以读取文件保存数据库。
②【图书信息管理系统】功能需求:添加图书、删除、修改图书,根据书名 编号 作者来查找图书,保存到文件,并且系统可以读取文件保存数据库。
③【图书借阅系统】①+②+借阅记录的增删改查
…
发现一个问题,不论是用C语言,还是Java、C#,它都离不开增删改查。
用不同语言实现:
我们做的管理系统,定做都可以总结为以下的几个内容:
3.现在定做课设C++:设计结构体、[登陆、注册]、主菜单、编写增删改查方法、main方法、读写文件
Java和C#:设计数据库、[登陆页和注册页的前后台]、增删改查页面和后台、菜单页、增删改查功能页、读写数据库
生成效果建议观看我的的视频效果更直观:https://www.bilibili.com/video/BV14q4y137Pa?spm_id_from=333.999.0.0
做一些配置,然后,保存并点击生成按钮,,OK !
C、C++
Java、C#生成
到目前为止
代码生成器已经处于比较成熟的阶段了
要学会使用它
你只要看懂我视频的设计就足够了
这个系统自带很多以前定做的案例
不知道看完视频的你有没有自己的想法呢
我们会不断更新功能或者bug
也欢迎你来提出意见建议
资源包括:代码生成器+现有源码、毕设、论文 ,和代码生成器中的已经配置好的案例 一共200+项目(C、C++、C#、java、数据库)
二、代码生成器的使用接下来就说说这个生成器吧,它本身就是一个Java做的系统,为了方便操作,我们特地做了web界面。
最终我把它打包成了这几个文件(其实还有一个数据库源码文件,我会单独发),启动也非常的简单,双击我写的这个bat脚本就启动了,然后在浏览器访问localhost就可以访问啦
其中MY_AUTO_APP ,当你生成了一个非C语言程序时,他会放在这个文件夹
config:包含一些系统的配置文件,比如这个系统的启动端口,连接的数据库
target:程序的主体(jar文件)
bat :两个bat文件都可以用来启动这个项目用的
其中start-service就是服务方式启动,缺点是双击后没有反应,优点是后台会一直启动。
start-terminal(推荐)是控制台启动,双击后弹出一个控制台黑框框,关掉控制台后系统就关掉了
导入数据库:
如果你有装mysql会导入的话,按照以下步骤,否则我会帮你搞定
拿到系统,首先导入我给的数据库,然后修改config/application.yaml以下配置
database_name 是数据库名称
username password改成自己mysql的账号密码
driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/database_name?serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true #UTC username: username password: password
好了,可以双击start-terminal启动系统了,启动完成后,浏览器访问localhost
3.使用教程看以下内容之前,可以先观看我的------B站视频介绍------,防止一脸懵逼
基本的使用呢,我的视频都已经介绍了
下面介绍一些系统相关配置的注意事项
还有系统的一些便捷功能
避免生成的系统出现报错问题。
1.使用之前无需登陆,会自动登陆超级管理员账号
2.除了代码生成器这个模块,其他的功能没必要去管他
(这些就是历史原因了哈哈,本来想做一个网站的上线的…)
在新增或者修改项目后,一定要先保存后,再点击生成。
注意,删除项目后,不可恢复
为了更好的发掘生成器的功能,我们可以灵活的运用配置项的功能。
C/C++属性配置示例:
C# / Javaswing窗体程序配置示例:
Javaweb属性配置示例:
-
命名 :系统、对象等命名时候,请避免使用特殊字符:# ¥ % & ^ ) - = + : " ' } ]【】~!? . , < > / 、等
-
实体名 首字母大写(自动) 例:Admin
-
属性名 首字母小写(自动) 例:name
-
中文名 用于对象名或属性名的描述,这样生成的系统注释才会齐全。例:管理员
-
是否查询 增删改查的查找功能中,如果查询设为【是】,则该属性会作为查询条件,例:可以通过姓名来查找学生
-
是否统计 系统查询功能中,对于查出的数据会进行自动统计,例:每天的营业额设为统计,将自动对查询出来的数据求和
-
是否平均 系统查询功能中,对于查出的数据会进行自动平均,例:学生身高设为平均,将自动显示平均身高
-
更新页显示 修改/更新的时候,这个字段显示,例:我想让学生学号不可修改,我就可以设为否,默认是否
-
可更新 是否可以更新这个字段,如果设为否,C#和Java 将会设为不可输入
-
字段唯一 比如学号、身份证号码,他们是不会重复的字段,应该设为字段唯一。
-
数据类型 C/C++的数据类型为char的时候,请在属性名后面加上长度,java和c#则不需要添加后缀[n],n表示字符数组长度
-
最大长度 是C#和Java才有的配置,只有数据类型是String才生效。类似于c语言属性名的后缀,表示这个字段最长长度,一般用默认的255即可
-
不为空 必填,例如:姓名为必填项
-
输入标签 JavaWeb网页的输入框分为文字输入框(input)、下拉框(select)、日期选择框(date)
-
下拉框的值 当下拉框的有值的时候,输入标签会变成自动select,有一定容错机制。例如:性别为 男、女
-
输入类型(JavaWeb网页) text、password、number 学过html的同学应该懂,这是input标签的类别,例如:年龄是数字,用number
-
输入类型(窗体) TextBox、ComboBox、TextBoxMul对应窗体的输入框类型,TextBox是文本输入框,ComboBox是下拉框,TextBoxMul是多行文本输入框,例如:属性是性别时,我在下拉框的值中填入男n女n,然后输入类型选ComboBox
-
默认值 新增的时候,默认会给这个属性赋值,例1:名族默认是汉族、数量默认是100…就填汉族或100。例2:默认时间为当前时间,填{time.now},为啥呢?因为Java的默认时间是 new Date(),而C#的为 DateTime.Now.ToString() ,这个配置又是Java和C#窗体共用的。
-
外键
这一个内容要单独理解,配置简单,但是功能比较多,拿下图的学生成绩管理系统来说:
前提是我们已经添加了学生:Student对象和课程:Course对象,现在添加这个成绩对象
1、 看下图,课程和学生对应的外键已经填上了内容,这个意思指的是,学生成绩管理系统必须先添加学生和课程,才能添加成绩,没有学生和课程,哪来的成绩对吧?
2、 自动设置权限,这个学生,如果【是登陆用户】,那么学生登陆后,是只能查看自己的成绩的,这个用处很多,很重要。例如:借阅系统中,我们希望读者只能看到自己的借阅记录。
3、 便利的查询,在C#和Java中的查询框是可以设置为下拉框的,以下例子中,因为课程和学生都是外键而且他们是查询条件,所以生成的成绩管理系统,在查成绩的时候,可以通过下拉框来选择查询某个学生、课程的成绩。
- 默认访问 指的是系统登录以后,默认访问的地址,这里设置的为/student/list,表示查看学生列表。这里要注意一下,学生是必须已存在的对象,而且student要首字母小写。
- 主题 JavaWeb特有,可选界面样式



