wGenerator如何编写模板
编写模板大致分为4个步骤:
- 确定开发语言与数据库类型
- 分析表数据类型与语言的类型对应
- 分析代码中哪些可以规整为模板
- 编写与测试模板
我们对照流程图看的话会更加清晰;

1.如何分析表数据与开发语言的类型对照关系呢
不同的开发语言与不同的数据库类型,其对应关系都是不同的,如下图
可以清晰的看出表的字段类型与动态语言的对应

wGenerator会将分析出来的结果投放到模板引擎中:
| 序号 | 参数 | 名称 | velocity中调用 |
|---|---|---|---|
| 1 | table | 表(对象) | $!{table.tableName} |
| 2 | columns | 列(列表) | #foreach($!tc in $!columns) $!tc.dlType #end |
| 3 | now | 时间(字符串)格式:yyyy-MM-dd HH:mm:ss | $!{now} |
| 4 | author | 开发者(字符串) | $!{author} |
| 5 | dbName | 数据库名(字符串) | $!{dbName} |
用户可以通过自己的diy把编写模板想成是在:绘画,造句,装修房屋等等

哪些类型的可以整理为模板
- 常用的
- 有固定规律的
- 你已经掌握的
实际应用场景
- 实体类(从SQL-》entity)
- 持久化层(查询,新增,删除)
- 服务层
- 控制器
- 视图
- 校验规则
通常页面
理论再好也还是需要实践,我们结合实际页面来分析,如何写模板
- 查询区域 1 变化多端
- 操作按钮区域 权限模块控制的
- 列表显示区域2 展现基本一致,仅数据变化
- 分页显示区域 框架选好了,就好了,不需要多次变化

具体如何编写。大家可以参考以下这个视频教程
因视频文章是发在微信公众号中的,大家可以前往去观看...
https://mp.weixin.qq.com/s/6_7Zouf2Erz69fDGHzgKKg
wGenerator如何编写模板的更多相关文章
- knockoutJS学习笔记01:从拼接字符串到编写模板引擎
开篇 关于knockout的文章,园里已经有很多大神写过了,而且都写得很好.其实knockout学习起来还是很容易的,看看官网的demo和园里的文章,练习练习就可以上手了(仅限使用,不包含研究源码). ...
- nginx 服务脚本编写模板
编写nginx服务脚本:脚本内容如下: [root@www ~]# cat /etc/init.d/nginx #!/bin/bash # nginx Startup script for the N ...
- Django 编写模板并渲染的示例
>>> from django.template import Template, Context >>> raw_template = ""& ...
- 类的编写模板之简单Java类
简单Java类是初学java时的一个重要的类模型,一般由属性和getter.setter方法组成,该类不涉及复杂的逻辑运算,仅仅是作为数据的储存,同时该类一般都有明确的实物类型.如:定义一个雇员的类, ...
- linux init.d脚本编写模板
#!/bin/bash ### BEGIN INIT INFO # # Provides: location_server # Required-Start: $local_fs $remote_fs ...
- scrapy 手动编写模板
import scrapy class Tzspider(scrapy.Spider): # spider的名字,唯一 name = 'tz' # 初始url列表 start_urls = ['htt ...
- (转)dedecms网页模板编写
网页模板就是templets中的htm文件,所以编写模板就是要编写html.这篇文章不是关于标签的具体使用,而是对网页模板的一些理解.包括基本的标签语法,封面模板,列表模板和文档模板的关系. 一 关于 ...
- django “如何”系列4:如何编写自定义模板标签和过滤器
django的模板系统自带了一系列的内建标签和过滤器,一般情况下可以满足你的要求,如果觉得需更精准的模板标签或者过滤器,你可以自己编写模板标签和过滤器,然后使用{% load %}标签使用他们. 代码 ...
- javascript&&jquery编写插件模板
javascrpt插件编写模板 这里不分享如何编写插件,只留一个框架模板,使用面向对象的形式进行编写,方便管理 ;(function(window,document){ function FnName ...
随机推荐
- Hashtable源码解析
Hashtable同样是基于哈希表实现的,同样每个元素是一个key-value对,其内部也是通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长. Hashtable也是JDK1.0引入的 ...
- vim编辑器常见命令归纳大全
Esc:命令行模式 i:插入命令 a:附加命令 o:打开命令 c:修改命令 r:取代命令 s:替换命令 以上进入文本输入模式 : 进入末行模式 末行模式: w:保存 q:退出,没保存则无法退出 w ...
- MIT算法导论课程
http://open.163.com/movie/2010/12/G/F/M6UTT5U0I_M6V2T1JGF.html
- Python(Django)项目与Apache的管理
(开开心心每一天~ ---虫瘾师) Python(Django)项目交给Apache的管理(一) 准备:Django的环境(Python).Apache.Wsgi(必须文件) 首先需要电脑有Pytho ...
- 微信小程序-获取经纬度
微信小程序-获取经纬度 最近公司新功能 要求在外的市场人员 发送位置信息回来. 用的还是微信小程序开发.... 微信小程序 提供一个接口 getLocation 这个接口反回来的位置 相对实际位置 相 ...
- Android开发学习总结(三)——appcompat_v7项目说明
一.appcompat_v7项目说明 今天来说一下appcompat_v7项目的问题,使用eclipse创建Android项目时,发现project列表中会多创建出一个appcompat_v7项目,这 ...
- j2ee中spring的分布式事务实现及解决方案
1 java事务类型 Java事务的类型有三种:JDBC事务.JTA(Java Transaction API)事务.容器事务. 常见的容器事务如Spring事务,容器事务主要是J2EE应用服务器提供 ...
- .net 工程中引用出现感叹号
在工程中引用出现感叹号,有两个原因 原因1: 这是由于之前引用的Dll文件不见了. 解决方案: 右键有感叹号的项,然后选择 “属性” 里边有一个路径属性 这个路径就是之前这个Dll文件的路径,现在这 ...
- [ Java面试题 ]多线程篇
1.什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速.比如,如果一个线程完成一 ...
- MySQL索引及查询优化总结 专题
小结:db名与应用名相同,表名:业务名_此表的作用 ,表名表示内容,不体现数量,如果表示boolean概念,表名需要使用is_业务含义来表示,但POJO中不应该出现isXXX,因为不方便序列化,中间的 ...