其它:http://blog.csdn.net/xgc007/article/details/52997723
https://code.google.com/archive/p/rapid-framework/
官方網站(好像不能訪問):http://www.rapid-framework.org.cn/
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的類庫
<!-- rapid核心框架 --> <dependency> <groupId>com.googlecode.rapid-framework</groupId> <artifactId>rapid-core</artifactId> <version>4.0</version>
</dependency>
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
“`
下載
https://code.google.com/archive/p/rapid-framework/downloads
下載這裏,有不的版本和許多使用demo
使用
首先我們把那個離線文檔下載下來,rapid-framework-document-v3.0.zip
或者下載版本後,裏面也會自帶一個該版本的文檔
rapid-framework-3.9.3.20100923\reference_doc
rapid-framework的主要文件目錄:
待續…
其它
不折騰了,我已經有現成的了,都已經配置好
直接關聯數據庫表生成代碼模板
需要的這裏下載
百度雲盤:http://pan.baidu.com/s/1c1T7HHQ 密碼:uyzw
變量引用
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.
GG
GeneratorControl.java參考,請使用IE查看
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
語法參考: http://freemarker.sourceforge.net/docs/index.html