栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【课设生成器】我做了一个代码生成器

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【课设生成器】我做了一个代码生成器

文章目录
  • 一、什么是代码生成器
    • 0.视频介绍
    • 1.做生成器的初衷
    • 2.以前定做课设
    • 3.现在定做课设
    • 4.资源内容
  • 二、代码生成器的使用
    • 1.文件目录介绍
    • 2.启动系统
    • 3.使用教程
      • 3.1界面
      • 3.2 生成
      • 3.3 配置项
        • 通用配置
        • Javaweb配置

一、什么是代码生成器

我是一个已经毕业的学长,大三发现定做课程设计,可以帮自己赚取生活费,又巩固了基础知识,可以说是自身双赢了。在大四实现完全经济独立。

现在已经出来工作,已经没什么经历做课设了,如果你对生成器感兴趣,或者想在学习的状态下赚一些零花钱,不妨通过以下视频和文章了解一下。

0.视频介绍

B站演示视频:https://www.bilibili.com/video/BV14q4y137Pa?spm_id_from=333.999.0.0

我做了一个课程设计代码生成器,一键生成C、数据结构、C#、Java、数据库课设

1.做生成器的初衷

我们定做课设,内容包括C语言 C++面向对象 还有C#管理系统 JavaSwing JavaWeb系统,数据库课设,做多了以后,发现我们无非就是在做各种管理系统,他们都离不开增删改查,内容本质上来说都是一样的。而程序最擅长的就是重复性工作,有没有办法做个生成器来帮我们写代码呢?

我们只要做简单的设置,就能自动生成一个功能齐全的系统!

下面介绍一下我是怎么一步一步做到通过配置,一键生成C、Java窗体、JavaWeb,C#窗体、数据库课设!

2.以前定做课设

回顾一下之前做课设的场景:
我们要做一个学生信息管理系统、图书管理系统
①【学生信息管理系统】功能需求:添加学生、删除、修改学生,根据学号 名字 性别来查找学生,保存到文件,并且系统可以读取文件保存数据库。
②【图书信息管理系统】功能需求:添加图书、删除、修改图书,根据书名 编号 作者来查找图书,保存到文件,并且系统可以读取文件保存数据库。
③【图书借阅系统】①+②+借阅记录的增删改查

发现一个问题,不论是用C语言,还是Java、C#,它都离不开增删改查。

用不同语言实现:
我们做的管理系统,定做都可以总结为以下的几个内容:

C++:设计结构体、[登陆、注册]、主菜单、编写增删改查方法、main方法、读写文件
Java和C#:设计数据库、[登陆页和注册页的前后台]、增删改查页面和后台、菜单页、增删改查功能页、读写数据库

3.现在定做课设

生成效果建议观看我的的视频效果更直观:https://www.bilibili.com/video/BV14q4y137Pa?spm_id_from=333.999.0.0

做一些配置,然后,保存并点击生成按钮,,OK !

C、C++

Java、C#生成


4.资源内容

到目前为止
代码生成器已经处于比较成熟的阶段了
要学会使用它
你只要看懂我视频的设计就足够了

这个系统自带很多以前定做的案例
不知道看完视频的你有没有自己的想法呢

我们会不断更新功能或者bug
也欢迎你来提出意见建议

资源包括:代码生成器+现有源码、毕设、论文 ,和代码生成器中的已经配置好的案例 一共200+项目(C、C++、C#、java、数据库)

二、代码生成器的使用

接下来就说说这个生成器吧,它本身就是一个Java做的系统,为了方便操作,我们特地做了web界面。

最终我把它打包成了这几个文件(其实还有一个数据库源码文件,我会单独发),启动也非常的简单,双击我写的这个bat脚本就启动了,然后在浏览器访问localhost就可以访问啦

其中MY_AUTO_APP ,当你生成了一个非C语言程序时,他会放在这个文件夹

1.文件目录介绍

config:包含一些系统的配置文件,比如这个系统的启动端口,连接的数据库
target:程序的主体(jar文件)
bat :两个bat文件都可以用来启动这个项目用的
其中start-service就是服务方式启动,缺点是双击后没有反应,优点是后台会一直启动。
start-terminal(推荐)是控制台启动,双击后弹出一个控制台黑框框,关掉控制台后系统就关掉了

2.启动系统

导入数据库:

如果你有装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站视频介绍------,防止一脸懵逼
基本的使用呢,我的视频都已经介绍了
下面介绍一些系统相关配置的注意事项
还有系统的一些便捷功能
避免生成的系统出现报错问题。

3.1界面

1.使用之前无需登陆,会自动登陆超级管理员账号
2.除了代码生成器这个模块,其他的功能没必要去管他
(这些就是历史原因了哈哈,本来想做一个网站的上线的…)

3.2 生成

在新增或者修改项目后,一定要先保存后,再点击生成。


注意,删除项目后,不可恢复

3.3 配置项

为了更好的发掘生成器的功能,我们可以灵活的运用配置项的功能。

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中的查询框是可以设置为下拉框的,以下例子中,因为课程和学生都是外键而且他们是查询条件,所以生成的成绩管理系统,在查成绩的时候,可以通过下拉框来选择查询某个学生、课程的成绩。

Javaweb配置

  • 默认访问 指的是系统登录以后,默认访问的地址,这里设置的为/student/list,表示查看学生列表。这里要注意一下,学生是必须已存在的对象,而且student要首字母小写。
  • 主题 JavaWeb特有,可选界面样式
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/510642.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号