编写模板大致分为4个步骤:

  1. 确定开发语言与数据库类型
  2. 分析表数据类型与语言的类型对应
  3. 分析代码中哪些可以规整为模板
  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

wGenerator如何编写模板的更多相关文章

  1. knockoutJS学习笔记01:从拼接字符串到编写模板引擎

    开篇 关于knockout的文章,园里已经有很多大神写过了,而且都写得很好.其实knockout学习起来还是很容易的,看看官网的demo和园里的文章,练习练习就可以上手了(仅限使用,不包含研究源码). ...

  2. nginx 服务脚本编写模板

    编写nginx服务脚本:脚本内容如下: [root@www ~]# cat /etc/init.d/nginx #!/bin/bash # nginx Startup script for the N ...

  3. Django 编写模板并渲染的示例

    >>> from django.template import Template, Context >>> raw_template = ""& ...

  4. 类的编写模板之简单Java类

    简单Java类是初学java时的一个重要的类模型,一般由属性和getter.setter方法组成,该类不涉及复杂的逻辑运算,仅仅是作为数据的储存,同时该类一般都有明确的实物类型.如:定义一个雇员的类, ...

  5. linux init.d脚本编写模板

    #!/bin/bash ### BEGIN INIT INFO # # Provides: location_server # Required-Start: $local_fs $remote_fs ...

  6. scrapy 手动编写模板

    import scrapy class Tzspider(scrapy.Spider): # spider的名字,唯一 name = 'tz' # 初始url列表 start_urls = ['htt ...

  7. (转)dedecms网页模板编写

    网页模板就是templets中的htm文件,所以编写模板就是要编写html.这篇文章不是关于标签的具体使用,而是对网页模板的一些理解.包括基本的标签语法,封面模板,列表模板和文档模板的关系. 一 关于 ...

  8. django “如何”系列4:如何编写自定义模板标签和过滤器

    django的模板系统自带了一系列的内建标签和过滤器,一般情况下可以满足你的要求,如果觉得需更精准的模板标签或者过滤器,你可以自己编写模板标签和过滤器,然后使用{% load %}标签使用他们. 代码 ...

  9. javascript&&jquery编写插件模板

    javascrpt插件编写模板 这里不分享如何编写插件,只留一个框架模板,使用面向对象的形式进行编写,方便管理 ;(function(window,document){ function FnName ...

随机推荐

  1. 推荐两个国外公共CDN服务

    最近这个国家信息安全问题舆论形势又见紧张,Google的访问又被强力堵截,谷歌的公共CDN也顺带被波及,像AngularJS这样的前卫js库,国内几大公共CDN服务都不提供支持.国外目前两大第三方公共 ...

  2. sqlite db数据的导出

    sqlite的db数据一般是filename.db的格式,用普通文本编辑器打开是乱码,用sqlite名令操作比较麻烦,有时版本格式问题还会起阻扰,有一个GUI工具可以对sqlite db格式数据进行管 ...

  3. javaXML文件解析之DOM4J实操

    既然前面说了DOM4J这里好那里好,大家都是在用这个,那咱就不得不写一个了. XML文件: <?xml version="1.0" encoding="UTF-8& ...

  4. ios WKWebView 与 JS 交互实战技巧

    一.WKWebView 由于Xcode8发布之后,编译器开始不支持iOS 7了,这样我们的app也改为最低支持iOS 8.0,既然需要与web交互,那自然也就选择使用了 iOS 8.0之后 才推出的新 ...

  5. 服务治理利器Hystrix-理论篇

    引言 现在的大中型应用,很多都在朝着服务化.分布式的方向发展.这有多方面的考虑,比如说,方便治理.便于扩展.服务隔离等等.不过在带来如此多利好的同时,不可避免的也会带来麻烦,比如系统架构复杂.服务依赖 ...

  6. Java构造器:级联调用,调用兄弟构造器

    级联调用: class Father{ Father(){ System.out.println("Father birth"); } public void announce() ...

  7. 使图片自适应div大小

    <img src=“” onload="javascript:if(this.height>MaxHeight)this.height=MaxHeight;if(this.wid ...

  8. android获取手机机型、厂商、deviceID基本信息

    /** * 系统工具类 */ public class SystemUtil { /** * 获取当前手机系统语言. * * @return 返回当前系统语言.例如:当前设置的是"中文-中国 ...

  9. Python零散函数

    1. python json.dumps() json.dump()的区别 注意cat ,是直接输出文件的内容 load和loads都是实现"反序列化",区别在于(以Python为 ...

  10. 洛谷 P1054 解题报告

    P1054 等价表达式 题目描述 明明进了中学之后,学到了代数表达式.有一天,他碰到一个很麻烦的选择题.这个题目的题干中首先给出了一个代数表达式,然后列出了若干选项,每个选项也是一个代数表达式,题目的 ...