badqiu

          XPer
          隨筆 - 46, 文章 - 3, 評論 - 195, 引用 - 0
          數據加載中……

          [rapid-framework]代碼生成器發布:rapid-generator-v1.0

          通常代碼生成器存在的問題.

          • 二次開發困難
          • 過于智能,自動插入我們的項目中,程序員還需考慮舊的代碼會不會被覆蓋的問題
          • 沒有將存放模板的目錄名稱及文件名稱利用起來,導致還需配置每個模板文件生成的文件名,目錄結構
            具體請查看我寫的文章:為何代碼生成器都要這么智能呢?

          本代碼生成器的特性

          • 1. 基于FreeMarker模板語言
          • 2. 基于數據庫,并支持多種數據庫(mysql,sql server,oracle測試通過)
          • 3. 半手工方式,生成的代碼放在某個目錄,再手工拷貝回來工作區
          • 4. 易于做二次開發,整個生成器本身就是java源代碼,源代碼核心十分精簡,并且鼓勵你做修改代碼,也可以作為任何語言的代碼生成器
          • 5. 配置簡單,只有一個配置文件generator.properties
          • 6. 以application方式運行生成器,生成不同的table直接修改相關java代碼即可
          • 7. 將文件系統的目錄名稱及文件名稱作為生成器的一部分,模板文件的的名稱與目錄名稱可以直接引用相關變量,如 ${basepackage}/${className}.java? (${className}=Blog,則會生成Blog.java)
          • 8. 以@testExpression結尾的模板文件為有條件忽略,如果testExpression的值在數據模型為true則生成該文件,生成的文件不會包含@testExpression,反之則不生成該文件(應用場景:用于在是否要生成hibernate聯合主建的文件中)
          • 9. 支持文件插入操作,如模板輸出生成的地方已經有該同名的文件存在,并且文件中有包含"webapp-generator-insert-location"標記,則模板生成的內容會插入在該標記之后.該特性對如生成的spring配置內容插入spring配置文件十分有用

          代碼生成器的運行

          • 修改generator.properties的數據庫連接屬性及其它屬性
          • 將generator_lib中的jar加入classpath,generator_lib自帶了幾種驅動
          • 以application的方式運行GeneratorMain類,要生成不同的table,直接修改代碼即可
            1?public?class?GeneratorMain?{???
            2?????public?static?void?main(String[]?args)?throws?Exception?{???
            3?????????Generator?g?=?new?Generator();???
            4????????????
            5?????????g.clean();???
            6?????????g.generateTable("blog");???
            7?//??????g.generateAllTable();???
            8?????}???
            9?}??

          代碼template目錄結構

          代碼模板目錄

          ?

          ?

          項目下載: http://code.google.com/p/rapid-generator/downloads/list


          本生成器也將作為rapid-framework的一部分,即將發布,敬請關注.

          ?

          并且歡迎大家加入討論組:

          posted on 2008-07-22 09:09 badqiu 閱讀(2478) 評論(7)  編輯  收藏

          評論

          # re: [rapid-framework]代碼生成器發布:rapid-generator-v1.0  回復  更多評論   

          用fmpp吧,比你的強大多了
          2008-07-22 11:48 | xfan

          # re: [rapid-framework]代碼生成器發布:rapid-generator-v1.0  回復  更多評論   

          @xfan
          兩者的目的不同,這個就是可以實際應用于開發使用的生成器.
          數據模型等都已經為你構建好,只要根據你的系統,修改內置的模板就行了.
          2008-07-22 12:44 | badqiu

          # re: [rapid-framework]代碼生成器發布:rapid-generator-v1.0  回復  更多評論   

          看來是挺好的東東,下載回來看看
          2008-07-22 15:12 | nickey

          # re: [rapid-framework]代碼生成器發布:rapid-generator-v1.0  回復  更多評論   

          能否制作一個基于struts2的web項目呢?下午試了一下 感覺很好用的
          確實非常方便的好東西 可是我比較習慣用struts2 樓主的視頻教程是基于struts1的 希望樓主百忙之中能否制作一個基于struts2的web項目 小弟感激不盡!82149317@qq.com 我的郵箱
          2008-10-31 16:44 | 孫彬彬

          # re: [rapid-framework]代碼生成器發布:rapid-generator-v1.0  回復  更多評論   

          請教下:為什么rapid-framework項目改成struts2之后 不能修改后綴了?難道后綴只能是 .action嗎?
          2008-10-31 19:03 | 孫彬彬

          # 配置[未登錄]  回復  更多評論   

          如何在generator.properties中配置oracle數據庫啊
          2009-05-11 14:40 | 莉莉

          # re: [rapid-framework]代碼生成器發布:rapid-generator-v1.0  回復  更多評論   

          @莉莉
          普通的數據庫將jdbc.url等配好就行了。
          只有oracle還要配一下jdbc.schema,并且oracle數據庫在運行GeneratorMain時要注意表名有大小寫。
          2009-05-27 09:52 | badqiu

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 城市| 精河县| 黄浦区| 洞头县| 手机| 四会市| 寻甸| 张家港市| 旬阳县| 汾阳市| 永安市| 兰西县| 微山县| 烟台市| 鄂伦春自治旗| 炉霍县| 永安市| 鸡西市| 宁陕县| 泌阳县| 满洲里市| 家居| 韶山市| 靖江市| 阿瓦提县| 德阳市| 平顺县| 武功县| 广昌县| 台南县| 南昌市| 白玉县| 大兴区| 漳平市| 安顺市| 清苑县| 肥东县| 巢湖市| 乳山市| 汕头市| 永城市|