十二、mcg-helper业务系统单表业务模块自动化生成model类

本文详细介绍使用mcg-helper研发小助手自动生成MVC模式下的model类过程。通过data控件读取数据库表信息,js脚本控件处理数据,最终利用文件控件结合freemarker模板生成完整的Java类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         《业务系统单表业务模块生成 》示例生成model类、xml映射文件、dao接口、service接口、serviceImpl接口、controller控制类、html页面、js文件。该示例结合教程,能够帮忙大家玩转mcg-helper研发小助手,为考虑到教程过长,分解成八节进行讲解,每节讲解一个代码文件的生成,因涉及从数据库读取表信息,大家启动mcg-helper后,切换到“工作台”,在“数据源”中将数据库信息修改,如图所示:




           为保证与教程同步,请创建表,脚本如下:

CREATE TABLE `mcg_helper_user` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  `user_name` varchar(50) DEFAULT NULL COMMENT '用户名称',
  `user_pwd` varchar(255) DEFAULT NULL COMMENT '用户密码',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


                现从《生成model开始讲解 MVC设计模式将数据、业务逻辑、显示进行分离,业界MVC框架数不胜数,想必大家不会陌生的!在这里详解《业务系统单表业务模块生成》示例是如何完成model类的生成,我们先来看看示例教程中流程图所运用的控件:


           可以很清楚的看见,采用data控件、js脚本控件、文件控件完成了生成model类的工作。

                  data控件:读取数据库表,将表信息转换为映射对象数据,如表名、类名、包名、程序变量名、程序类型、表字段名、表字段类型、表字段长度等等;

                  js脚本控件:获取data控件的运行值,对数据进行转换和处理为生成model类需要的直接数据。

                  文件控件:编写freemaker模板语言,将js脚本控件的运行值作为参数,生成想要的model类代码,并保存到指定的文件中。

         下面具体讲解如何运用这三个控件:

                   1、data控件的使用

                   双击data控件,在弹出层默认进入“关联表”选项卡,选择数据源、选择表后,将自动转换数据库表信息与对象的映射关系数据显示在表格中

               切换到“属性”选项卡,编辑一些基本信息,之前选择表后,“类名”,“表名”会自动赋值

               在流程执行中,data控件运行值如下:

{
	"userData":{
		"record":[
			{
				"autoincrement":true,
				"classField":"userId",
				"comment":"自增主键",
				"dataType":"Integer",
				"include":"java.lang.Integer",
				"length":10,
				"mandatory":true,
				"precision":0,
				"primary":true,
				"show":false,
				"tableField":"user_id",
				"tableFieldType":"INT"
			},
			{
				"autoincrement":false,
				"classField":"userName",
				"comment":"用户名称",
				"dataType":"String",
				"include":"java.lang.String",
				"length":50,
				"mandatory":false,
				"precision":0,
				"primary":false,
				"show":false,
				"tableField":"user_name",
				"tableFieldType":"VARCHAR"
			},
			{
				"autoincrement":false,
				"classField":"userPwd",
				"comment":"用户密码",
				"dataType":"String",
				"include":"java.lang.String",
				"length":255,
				"mandatory":false,
				"precision":0,
				"primary":false,
				"show":false,
				"tableField":"user_pwd",
				"tableFieldType":"VARCHAR"
			}
		],
		"property":{
			"className":"McgHelperUser",
			"dataDesc":"用户管理",
			"key":"userData",
			"name":"读取用户表信息",
			"packageName":"com.mcghelper.model",
			"tableName":"mcg_helper_user"
		}
	}
}

               2、JS脚本控件的使用

                      双击js脚本控件,编辑框中默认进入“属性”选项卡,可编辑控件名称、控件Key、说明信息

                     切换到“源代码”选项卡,该控件需要编写原生javascript,主要作用把所有父级的运行值处理为文本控件生成所需要的值,这里只有一个data控件为父级,运行值可以参数上面,编写的代码如下图:

                      在流程执行时,运行值如下:

{
	"modelScript":{
		"userData":{
			"record":[
				{
					"include":"java.lang.Integer",
					"tableField":"user_id",
					"dataType":"Integer",
					"precision":0,
					"length":10,
					"show":false,
					"mandatory":true,
					"classFieldMethod":"UserId",
					"classField":"userId",
					"tableFieldType":"INT",
					"autoincrement":true,
					"comment":"自增主键",
					"primary":true
				},
				{
					"include":"java.lang.String",
					"tableField":"user_name",
					"dataType":"String",
					"precision":0,
					"length":50,
					"show":false,
					"mandatory":false,
					"classFieldMethod":"UserName",
					"classField":"userName",
					"tableFieldType":"VARCHAR",
					"autoincrement":false,
					"comment":"用户名称",
					"primary":false
				},
				{
					"include":"java.lang.String",
					"tableField":"user_pwd",
					"dataType":"String",
					"precision":0,
					"length":255,
					"show":false,
					"mandatory":false,
					"classFieldMethod":"UserPwd",
					"classField":"userPwd",
					"tableFieldType":"VARCHAR",
					"autoincrement":false,
					"comment":"用户密码",
					"primary":false
				}
			],
			"property":{
				"dataDesc":"用户管理",
				"name":"读取用户表信息",
				"className":"McgHelperUser",
				"packageName":"com.mcghelper.model",
				"key":"userData",
				"tableName":"mcg_helper_user"
			}
		},
		"xmlFileName":"McgHelperUser.xml",
		"modelFileName":"McgHelperUser.java"
	}
}



           3、文件控件的使用

                 双击文本控件,编辑框默认进入“属性”选项卡,获取为所有父级控件的运行值作为参数,这里父级只有JS脚本控件,参考上图,其中${modelScript.modelFileName }的值应该为“McgHelperUser.java”

                        切换到“源代码”选项卡,文本控件通过编写freemaker模板语言来生成想要的代码,将所有父级的运行值作为参数


                       生成结果如下:

package com.mcghelper.model;

public class McgHelperUser {
    public McgHelperUser() {

    }
    
    /* 自增主键  */
    private Integer userId;
    /* 用户名称  */
    private String userName;
    /* 用户密码  */
    private String userPwd;
    
    public Integer getUserId() {
        return this.userId;
    }
    public String getUserName() {
        return this.userName;
    }
    public String getUserPwd() {
        return this.userPwd;
    }
    public void setUserId(Integer userId) {
        this.userId = userId;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public void setUserPwd(String userPwd) {
        this.userPwd = userPwd;
    }
}

            到此,我们本节教程讲解完毕,在实际中,结合控件台输出的日志可以很好的调试,以上的运行值也是从控制台中截取的,在mcg-helper控制台不仅输出各控件的参数、运行值等,而且可以自定义输出某个变量的值,这样有助力在有逻辑性的地方可以输出值定位排查问题。


        mcg-helper的使用指南:http://blog.youkuaiyun.com/loginandpwd/article/details/76944900
        mcg-helper研发小助手发布v1.0.0-beta版本:http://blog.youkuaiyun.com/loginandpwd/article/details/77447363
        mcg-helper研发小助手软件介绍:http://blog.youkuaiyun.com/loginandpwd/article/details/77751566
        生成model类:http://blog.youkuaiyun.com/loginandpwd/article/details/77448277
        生成xml映射文件:http://blog.youkuaiyun.com/loginandpwd/article/details/77452902
        生成dao接口:http://blog.youkuaiyun.com/loginandpwd/article/details/77452927
        生成service接口:http://blog.youkuaiyun.com/loginandpwd/article/details/77452946
        生成serviceImpl实现类:http://blog.youkuaiyun.com/loginandpwd/article/details/77452979
        生成controller控制类:http://blog.youkuaiyun.com/loginandpwd/article/details/77452993
        生成html页面:http://blog.youkuaiyun.com/loginandpwd/article/details/77453013
        生成js文件:http://blog.youkuaiyun.com/loginandpwd/article/details/77453024


mcg-helper是一款研发个化性流程自动化工具,提供一套可视化“流程自动化”的规范,丰富的拖拽控件,良好的交互性,基于流程图实现自动化,能够很好感知到可控性、实时性、可追溯性。更好的解决在研发工作中较典型的代码生成、应用部署、环境搭建、模拟环境、自动发现与检测、数据处理等需求场景,从而达到减少简化工作量。其核心亮点在于打造自己的流程控件,实现自定义需求。 mcg-helper流程自动化工具功能: 以研发工作中的实际需求场景为例: 一、代码生成:快速构建代码生成功能,通过可视化界面,采用拖拽式控件及连接线绘制流程图,自定义实现生成任何想要的代码。 二、环境搭建:以java应用来讲,比如安装jdk,tomcat,zookeeper,mq,hbase,mysql等等都可以实现自动化。 三、应用部署:GIT代码拉取,MAVEN打包,SFTP上传,Linux脚本执行,自动化一气呵成,且轻松实现切换用户等交互性需求,数据初始化,多应用的启动顺序或特定条件触发,均可实现自动化操作。 四、模拟操作:接口调试,数据模拟,功能自测等等,适用于测试场景。 五、自动检测:基于流程循环,实现主动触发、检测、控制的需求场景,如服务器性能检测,应用存活检测,循环扫描操作等。 六、数据处理:如开发环境定期同步数据到测试环境,或多个数据库数据加工过滤等需求。 七、WEB SSH:通过浏览器操作Linux,简便捷。 整体上讲,基于流程图清晰易直观,且控件使用简,易掌控,学习门槛低。系统“主页”里面有视频教程链接,能够很好的上手和玩转mcg-helpermcg-helper流程自动化工具特点: 轻量级、无浸入性、部署简(无需安装数据库或特定配置,jdk8、tomcat8即可独立运行) 跨平台性、可移植性、可扩展性,基于B/S架构,通过浏览器即可访问 一套流程自动化规范,轻松快捷实现流程自动化 二次开发,打造自定义拖拽流程控件,让流程自动化更贴近需求 WEB SSH,通过浏览器即可与Linux交互,支持google身份认证
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mcg-helper

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值