十二、mcg-helper业务系统单表业务模块自动化生成model类
来源:互联网 发布:java自动装箱和拆箱 编辑:程序博客网 时间:2024/06/04 22:33
《业务系统单表业务模块生成 》示例生成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.csdn.net/loginandpwd/article/details/76944900
mcg-helper研发小助手发布v1.0.0-beta版本:http://blog.csdn.net/loginandpwd/article/details/77447363
mcg-helper研发小助手软件介绍:http://blog.csdn.net/loginandpwd/article/details/77751566
生成model类:http://blog.csdn.net/loginandpwd/article/details/77448277
生成xml映射文件:http://blog.csdn.net/loginandpwd/article/details/77452902
生成dao接口:http://blog.csdn.net/loginandpwd/article/details/77452927
生成service接口:http://blog.csdn.net/loginandpwd/article/details/77452946
生成serviceImpl实现类:http://blog.csdn.net/loginandpwd/article/details/77452979
生成controller控制类:http://blog.csdn.net/loginandpwd/article/details/77452993
生成html页面:http://blog.csdn.net/loginandpwd/article/details/77453013
生成js文件:http://blog.csdn.net/loginandpwd/article/details/77453024
- 十二、mcg-helper业务系统单表业务模块自动化生成model类
- 十六、mcg-helper业务系统单表业务模块自动化生成serviceImpl实现类
- 十七、mcg-helper业务系统单表业务模块自动化生成controller控制类
- 十九、mcg-helper业务系统单表业务模块自动化生成生成js文件
- 十三、mcg-helper业务系统单表业务模块自动化生成xml映射文件
- 十四、mcg-helper业务系统单表业务模块自动化生成dao接口
- 十五、mcg-helper业务系统单表业务模块自动化生成service接口
- 十八、mcg-helper业务系统单表业务模块自动化生成html页面
- 专三、mcg-helper一键生成jeecg框架单表功能模块
- 专三、mcg-helper一键生成jeecg框架单表功能模块
- 基于业务模块组件的系统架构
- 专二、mcg-helper万能代码生成工具介绍
- 业务系统
- 业务Model内部不要做业务逻辑
- 业务
- 业务
- 收单业务
- Sap 主要模块业务主表
- cocos2d 3.11.1 关于Android包第一次打开按Home键挂起再进入的问题 too much recursion
- Vue的轮播图组件实现
- FreeRTOS_001_准备工作
- spring boot统一处理结果(含异常)
- logback+slf4j日志实例
- 十二、mcg-helper业务系统单表业务模块自动化生成model类
- 面试总结之select和epoll
- .Net Reactor 5脱壳教程
- 读书笔记:机器学习实战【第3章 决策树】
- java中hashcode的作用
- Ubuntu /etc目录下profile、bash.bashrc文件和用户目录下.profile、.bashrc文件的作用和区别
- Spring Cloud Sleuth消息追踪原理
- HTML 页面的前进与后退
- Android开发之如何保证Service不被杀掉