java rapid_JAVA编码(64)—— 代码生成工具(rapid-framework)
参考:https://blog.csdn.net/u013474104/article/details/78547017
web项目脚手架
rapid-framework是一个以spring为核心的项目脚手架(或者称为胶水框架),框架将各个零散的框架(struts,strust2,springmvc,hibernate,ibatis,spring_jdbc,flex)搭建好,并内置一个代码生成器,辅助项目开发,可以生成java的hibernat model,dao,manager,struts+struts2 action类,可以生成jsp的增删改查及列表页面
项目定位
本框架是类似appfuse,springside的框架,但定位与springside及appfuse不同,它们更像是一些代码的最佳实践,而rapid-framework则是应用于实际项目开发的脚手架, 并且代码也将优化至极致.使用脚手架3分钟即可以搭建出一个实际项目.
框架概览
Dao: spring_jdbc, hibernate, ibatis2, ibatis3, 可以切换dao组件
Dao Helper: 基于dialect的分页(ibatis2, ibatis3, jdbc),动态sql构造工具rapid-xsqlbuilder
Web MVC: struts1, struts2, springmvc, springmvc_rest, 可以切换web组件
Template: (velocity, freemarker, jsp)的模板可以相互继承, velocity及freemarker可以实现模板之间的管道操作
分页组件: extremeTable, rapid-simpletable
UI: rapid-validation表单验证, My97DatePicker日期控件
单元测试: spring test+DBunit
底层支撑: 插件体系及代码生成器(rapid-generator)
项目质量
- 完整的单元测试及持续集成,保证代码质量
Maven
如果你是maven用户,现在可以直接在maven官方仓库中引用到rapid的类库
com.googlecode.rapid-frameworkrapid-core4.0
rapid-generator ``` com.googlecode.rapid-framework rapid-generator 4.0
com.googlecode.rapid-framework rapid-generator-ext 4.0
com.googlecode.rapid-framework rapid-generator-template 4.0
1
2
3
4
5
6
7
“`
下载
下载这里,有不的版本和许多使用demo
使用
或者下载版本后,里面也会自带一个该版本的文档
rapid-framework-3.9.3.20100923\reference_doc
rapid-framework的主要文件目录:
待续…
其它
不折腾了,我已经有现成的了,都已经配置好
直接关联数据库表生成代码模板
变量引用
file:///C:/Users/aaron/Desktop/11/rapid-framework-3.9.3.20100923/reference_doc/rapid_generator.html
generateByClass()gg控制变量
rapid_generator_gg
One-sentence summary of this page.
生成器模板 GG 控制变量
gg变量可以让每一个模板自己控制一些事情,如输出目录,输出encoding,或者还可以通过gg变量生成其它文件.
示例使用
${gg.setIgnoreOutput(true)}
相关控制方法,示例使用:${gg.setIgnoreOutput(true)}
boolean ignoreOutput : 不生成输出文件
String outputFile :
String outputFiles : 同时生成几份拷贝在在几个地方
String sourceEncoding : 指定模板文件的编码
String outputEncoding : 控制模板生成的文件编码
boolean isOverride : 是否覆盖目标文件,如果存在,默认true
String outRoot : 设置输出文件的根目录
相关只读属性,示例使用:${gg.getSourceDir()}
String sourceFile; 模板源文件file
String sourceDir; 模板源文件所在的目录
String sourceFileName; 模板源文件名
生成其它文件
${gg.generateFile(outputFile,content,encoding)}
装载其它资源
${gg.loadXml(xmlFile,ignoreError)}
得到property配置
${gg.getProperty(key,defaultValue)}: 得到proproty,如果没有找到,则返回默认值
${gg.getInputProperty(key,message)}: 会弹出一个输入框,提示用户输入值,提示消息为message.
${gg.getInputProperty(key)}: 会弹出一个输入框,提示用户输入值,提示消息为please input value for key.
Table.java 参考, rapid_generator_table_model_ref
Table.java 参考,引用变量名为:table
Table对象为对应的数据库表:
属性描述示例值
sqlName
数据库的列名称,很多其它值都是通过此列派生
USER_INFO
className
通过sqlName生成的类名称
UserInfo
classNameFirstLower
类名称第一个字母小写
userInfo
classNameLowerCase
className并全部小写
userinfo
underscoreName
下划线类名称
user_info
columns
数据库全部column
请查阅Column.java
remarks
数据库的注释
null
notPkColumns
非主键的column对象
pkCount
主键数
1
singleId
pkCount = 1时为true
true
compositeId
pkCount >= 2时为true
false
idColumn
表的主键
USER_ID(已经废弃)
pkColumns
所有的主键列,column对象
compositeIdColumns
等价于pkColumns,该属性已经过时
tableAlias
表的别名,值为 remarks == null ? className : remarks
UserInfo
notCompositeId
pkCount < 2 时为true
true
primaryKeyColumns
所有主键列
ownerSynonymName
constantName
常量名,等于sqlName.toUpperCase()
USER_INFO
importedKeys
exportedKeys
Column.java 参考
Column为数据库表(table)对应的列:
属性描述示例值
sqlName
数据库原生列名
USER_ID
sqlTypeName
数据库原生列类型
BIGINT
sqlType
数据库原生列类型
-5
defaultValue
数据库原生默认值
null
remarks
数据库原生番注
用户ID
columnName
将sqlName删除下划线,并首字母大写
UserId
underscoreName
下划列名称
user_id
columnNameLower
已经过时,使用columNameFirstLower替代
userId
columnNameFirstLower
columnName的第一个字母小写
userId
columnNameLowerCase
等于columnName.toLowerCase()
userid
columnAlias
列的别名,值为 remarks == null ? columnName: remarks
userId
constantName
常量名称,等于sqlName.toUpperCase()
USER_ID
validateString
用于rapid-validation的验证表达式
required validate-integer
noRequiredValidateString
用于rapid-validation的验证表达式
validate-integer
decimalDigits
0
indexed
是否索引列
true
nullable
是否允许为空
false
unique
是否唯一
true
fk
是否外键
false
pk
是否主键
true
isNumberColumn
是否是number类型的列
true
isStringColumn
是否是String类型的列
false
isDateTimeColumn
是否是日期类型的列
false
isNotIdOrVersionField
不是主键并且不等于version时为true
false
htmlHidden
是否需要html隐藏
true
jdbcSqlTypeName
数据库列类型
BIGINT
testData
该列生成的测试数据
173
size
64
javaType
与列相对应的java类型
java.lang.Long
asType
与列相对应的ActionScript类型
Number
table
列相对应的table对象
模板引擎freemarker
模板语言参考
java rapid_JAVA编码(64)—— 代码生成工具(rapid-framework)相关推荐
- Java(35):Java Base64编码和解码工具类
Java Base64编码和解码工具类 Base64Util工具类: package com.ciphergateway.utils; import java.io.UnsupportedEncodi ...
- java 文件编码转码工具类
java 文件编码转码工具类 一.描述 文件编码转码,GBK编码的文件转为UTF-8编码的文件. 二.代码实现 package com.lanshen.utils.lsjavaUtils ...
- 【转载】Java文件编码自动转换工具类
本篇随笔主要介绍了一个用java语言写的将一个文件编码转换为另一个编码并不改变文件内容的工具类: 通过读取源文件内容,用URLEncoding重新编码解码的方式实现. 1 public class C ...
- java代码中 作用_Java利用开发中代码生成工具的作用
Java利用开发中代码生成工具的作用 2010-6-5文字大小:大中小 近来,随着各种代码生成工具的不断涌现(如SpringSource的Spring Roo.Skyway Builder Commu ...
- 分享万能java字符串编码转换工具类
代码下载地址:http://www.zuidaima.com/share/1795356301560832.htm 原文:分享万能java字符串编码转换工具类 package com.zuidaima ...
- java ssh2工具,SSH2代码生成工SSH2代码生成工具 PowerBy 清如许UnicodePowerBy
SSH2代码生成工SSH2代码生成工具 PowerBy 清如许UnicodePowerBy SSH2代码生成工具 PowerBy 清如许Unicode 超值只卖2000元的SSH代码生成工具,快来购买 ...
- java万能编码转换_分享万能java字符串编码转换工具类
package com.zuidaima.util; import java.io.UnsupportedEncodingException; /** * 转换字符串的编码 */ public cla ...
- 常用代码生成工具汇总(转)
1.1 CodeSmith 一款人气很旺国外的基于模板的dotnet代码生成器 官方网站:http://www.codesmithtools.com 官方论坛:http://forum.codesmi ...
- 如何提高程序员人效?代码生成工具/框架
image.png 最近事情太多,很久没有更新简书,突然想起如何提高程序员人效这个问题,就推荐一篇代码生成工具/框架的文章. http://www.cnblogs.com/skyme/archive/ ...
最新文章
- 【Linux 内核】实时调度类 ⑥ ( 实时调度类核心函数源码分析 | 插入进程到执行队列 | 从执行队列中选择优先级最高的进程 )
- C语言函数题-两对儿参数的交换
- 201512-5 矩阵
- 电脑出货量_Q3季度全球笔记本电脑出货量增长34%,惠普出货量首次超过联想
- C# WinForm关闭窗体确认
- 网站暴库原理与方法剖析
- 部署Hadoop集群
- ActivityGroup简介
- 拼音转换成汉字html,汉字转换成拼音的种(转)
- costmap代价地图学习
- 一只蒟蒻的树形DP学习笔记
- mysql端口establish_establish_connection使用方法
- 【kali】34 WEB渗透——扫描工具w3af_console
- SHON WEBB:真正的自律,就是将这两件事做到极致
- 浙大翁恺pat练习题_PAT|中国大学MOOC-浙江大学翁恺-C语言程序设计习题集(更新中)...
- 【用户价值分析 RFM模型】用户价值分析
- 超写实虚拟人制作教程
- 车联网-App车况展示数据设计思路
- 【致远FAQ】Guest 账号同时多人登陆导致OA卡顿
- 《学术研究,你的成功之道》
热门文章
- 【超低功耗智能门锁】Si522A/Si523/Si512--具有超低功耗自动载波侦测功能(ACD功能)的13.56MHz芯片,智能屏蔽触摸功能
- DELPHI 三层显示error loading midas.dll
- DL4J实战之二:鸢尾花分类
- 基于集成运放心电放大器设计(原创)
- 安装和使用 Python
- Macbook上Gitlab下载代码
- CVPR 2020丨图像超清化+老照片修复技术,拯救你所有的模糊、破损照片
- eXtremeDB内存数据库7.0新版本的强大功能加强了它在物联网的关键作用
- [原创]基于proteus仿真16*64点阵屏带DS1302实钟芯片
- centos usb转网口_Linux系统入门学习:在CentOS7上改变网络接口名