豬兒笨笨的文檔

          主要是個(gè)人的一些思考和技術(shù)文章,還有許多翻譯的文檔

           

          2007年9月7日

          Wicket1.3中Class熱加載--揭秘篇

               摘要: 文章《Wicket1.3中Class熱加載--使用篇》的姐妹篇。
          介紹Wicket1.3中如何實(shí)現(xiàn)類的熱加載功能,從而在修改類(包括添加或者刪除Field,Method)時(shí),無(wú)須重新啟動(dòng)服務(wù)器,即可生效。  閱讀全文

          posted @ 2008-11-24 11:44 豬兒笨笨 閱讀(1729) | 評(píng)論 (3)編輯 收藏

          Wicket1.3中Class熱加載--使用篇

               摘要: 介紹如何使用Wicket1.3的類熱加載功能,從而在修改類(包括添加或者刪除Field,Method)時(shí),無(wú)須重新啟動(dòng)服務(wù)器,即可生效。從而提高Wicket開(kāi)發(fā)效率。  閱讀全文

          posted @ 2008-11-22 22:27 豬兒笨笨 閱讀(1985) | 評(píng)論 (2)編輯 收藏

          數(shù)據(jù)庫(kù)建模軟件Aquarius Orm Studio發(fā)布正式版本

          Aquarius Orm Studio發(fā)布正式0.1版本,可以通過(guò)下面地址訪問(wèn)
          http://orm.aquatool.org/nl/zh/CN/index.html

          下面是它的基本功能介紹

          • 數(shù)據(jù)庫(kù)正向建模(支持?jǐn)?shù)據(jù)表,存儲(chǔ)過(guò)程,視圖),并生成相關(guān)DDL
          • 數(shù)據(jù)庫(kù)反向工程,支持從數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù)表,存儲(chǔ)過(guò)程,視圖等數(shù)據(jù)庫(kù)元素
          • 支持多數(shù)據(jù)平臺(tái),包括Oracle,DB2,MySql,MsSql(支持2005),Sybase,PostgreSql等
          • 生成測(cè)試數(shù)據(jù),可以根據(jù)數(shù)據(jù)庫(kù)模型生成測(cè)試數(shù)據(jù),方便進(jìn)行單元測(cè)試。
          • 生成相應(yīng)ORM代碼及配置文件,支持Hibernate3,OJB,IBatis及OpenJPA
          • 支持多國(guó)語(yǔ)言,包括中文(簡(jiǎn)體,臺(tái)灣繁體,香港繁體),英文,日文(謝謝Judy.Chang的日文翻譯)
          • 支持生成Html格式的文檔,用來(lái)方便管理和歸類
          • 支持使用Velocity模板生成多種類型的文件


          它支持Eclipse3.2,Eclipse3.3,Eclipse3.4
          在網(wǎng)站可以下相應(yīng)的All-In-One版本(包含WTP),也可以下載相應(yīng)的RCP版本或者是相應(yīng)插件安裝包
          還可以通過(guò) http://orm.aquatool.org/nl/download/update 在級(jí)升級(jí)

          源代碼正在申請(qǐng)Google的代碼庫(kù),將于近期放出。
          開(kāi)源協(xié)議我還在考慮中,但個(gè)人使用肯定是永遠(yuǎn)免費(fèi)。

          如果有問(wèn)題,可以發(fā)站內(nèi)消息或者直接發(fā)Email到wl_95421@yahoo.com.cn與我聯(lián)系









          posted @ 2008-07-04 16:20 豬兒笨笨 閱讀(2370) | 評(píng)論 (4)編輯 收藏

          發(fā)布基于Eclipse的數(shù)據(jù)庫(kù)建模及ORM框架代碼自動(dòng)生成插件的RC2版,支持配置文件的模板

          根據(jù)大家的意見(jiàn),對(duì)工具進(jìn)行了一些修正,添加了以下幾個(gè)主要的功能

          1. 數(shù)據(jù)表自關(guān)聯(lián)
          2. 支持配置文件使用模板(模板為Velocity)
          3. 提供了RCP版本
          4. 支持Eclipse3.3
          5. 更新了幫助文檔
          6. 支持圖片輸出
          7. 在Eclipse3.3中支持PNG輸出格式

           

          我自己已經(jīng)申請(qǐng)了一個(gè)域名,主機(jī)在國(guó)外,并逐步將自己的開(kāi)源產(chǎn)品及相應(yīng)的書(shū)放到上面,SVN的建立還在研究中。
          大家可以通過(guò)http://orm.aquatool.org/nl/zh/CN/來(lái)訪問(wèn)這個(gè)地址,上面有在線文檔,不需要下載軟件即可了解軟件。
          有興趣的朋友,可以通過(guò)下載RCP版本來(lái)試用,晚一點(diǎn)我會(huì)建立論壇及MailList,希望大家可以提供更多的意見(jiàn)。






          posted @ 2007-11-02 16:17 豬兒笨笨 閱讀(1308) | 評(píng)論 (4)編輯 收藏

          發(fā)布基于Eclipse的數(shù)據(jù)庫(kù)建模及ORM框架代碼自動(dòng)生成插件(支持Hibernate,Ojb,IBatis等)

          下載地址

          (重要提示:如果安裝不成功,嘗試將feature文件夾刪掉)

          文件比較大,大概有近20M,使用Zip壓縮。

          現(xiàn)在發(fā)布的是Beta版,SourceForge上面的空間正在申請(qǐng)。
          發(fā)布的版本,支持Eclipse3.2和Eclipse3.3,需要GEF插件,可以在1.4及1.5下運(yùn)行(我只測(cè)試了Sun JDK1.4和JDK1.5的三個(gè)版本,并不保證所有的JDK都能運(yùn)行)。
          RCP版本正整理中,國(guó)慶前發(fā)布。
          如果有問(wèn)題,請(qǐng)留言

          以下是工具的介紹

          Aquarius ORM Studio介紹
           
              從事軟件開(kāi)發(fā)多年,感覺(jué)數(shù)據(jù)庫(kù)在整個(gè)軟件開(kāi)發(fā)過(guò)程中扮演一個(gè)不可或缺的角色。一旦一個(gè)業(yè)務(wù)項(xiàng)目進(jìn)入立項(xiàng)階段,需要支持哪些數(shù)據(jù)庫(kù)平臺(tái),如何使用該種數(shù)據(jù)庫(kù)平臺(tái)都將成為架構(gòu)師需要考慮的內(nèi)容,對(duì)于一般的開(kāi)發(fā)人員,則可能根據(jù)需要建立各種數(shù)據(jù)表,還可能需要通過(guò)反向工程來(lái)了解現(xiàn)有數(shù)據(jù)庫(kù)的架構(gòu),隨著ORM工具的流行,程序員還需要將數(shù)據(jù)表映射到類上,并保證兩者間的同步,過(guò)去幾年從事相應(yīng)工作的經(jīng)驗(yàn)告訴我,這既不是一個(gè)輕松的事情,更不是一件令人感覺(jué)愉快的事情。同時(shí)市場(chǎng)上有大量?jī)?yōu)秀的數(shù)據(jù)庫(kù)工具,從建模到分析,還有ORM,但可惜的是,大部分優(yōu)秀的工具都不是免費(fèi)的,就像最有名的PowerDesigner,其價(jià)格令我咋舌。象 PowerDesigner這么強(qiáng)大的工具,我只能用到其中一部分功能,卻要付出所有的價(jià)格,而且功能卻沒(méi)有滿足的我的需要。
              所以我萌生了根據(jù)自己的需求來(lái)開(kāi)發(fā)一個(gè)數(shù)據(jù)庫(kù) 工具的想法,并在接下來(lái)的兩年中付諸實(shí)施。這個(gè)工具我稱為Aquarius Orm Studio,Aquarius是水瓶座,我的星座,ORM是指這個(gè)工具的一個(gè)重要功能,Studio是個(gè)流行詞。
              這個(gè)工具可以完成以下功能:
          數(shù)據(jù)庫(kù)正向建模(支持?jǐn)?shù)據(jù)表,存儲(chǔ)過(guò)程,視圖),并生成相關(guān)DDL
          數(shù)據(jù)庫(kù)反向工程,支持從數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù)表,存儲(chǔ)過(guò)程,視圖等數(shù)據(jù)庫(kù)元素
          支持多數(shù)據(jù)平臺(tái),包括Oracle,DB2,MySql,MsSql,Sybase,PostgreSql等
          生成測(cè)試數(shù)據(jù),可以根據(jù)數(shù)據(jù)庫(kù)模型生成測(cè)試數(shù)據(jù),方便進(jìn)行單元測(cè)試。
          生成相應(yīng)ORM代碼及配置文件,支持Hibernate3,OJB,IBatis及OpenJPA
          支持多國(guó)語(yǔ)言,包括中文(簡(jiǎn)體,臺(tái)灣繁體,香港繁體),英文,日文(謝謝Judy.Chang的日文翻譯)

          posted @ 2007-09-07 11:30 豬兒笨笨 閱讀(6116) | 評(píng)論 (42)編輯 收藏

          發(fā)布自己的一個(gè)Eclipse小工具插件,并為自己的數(shù)據(jù)庫(kù)建模插件作個(gè)預(yù)告

          我的主要工作是做Eclipse插件開(kāi)發(fā)
          在開(kāi)發(fā)中,遇到一些問(wèn)題,比較麻煩,象轉(zhuǎn)換文件編碼,或者替換文件內(nèi)容(Eclipse的雖然支持正則式,但只能替換成單行字符串,不爽)
          所以自己開(kāi)發(fā)一個(gè)小插件,放出來(lái),方便大家,支持以下功能:
          1、將指定的多個(gè)文件,進(jìn)行編碼轉(zhuǎn)換,如GBK->UTF-8(因?yàn)槲易霾寮_(kāi)發(fā)的時(shí)候,默認(rèn)是GBK,現(xiàn)在要發(fā)布源碼,國(guó)外的開(kāi)發(fā)人員,就有問(wèn)題,所以做了這個(gè)插件)
          2、對(duì)指定的多個(gè)文件,進(jìn)行替換,支持多行文本和正則式
          3、將指定的多個(gè)文件,恢復(fù)到最近一個(gè)版本。


          下載地址

          另外做個(gè)預(yù)告:
          本周內(nèi)將發(fā)布我的一個(gè)Eclipse數(shù)據(jù)庫(kù)插件(約100K行代碼),支持以下功能:
          1、數(shù)據(jù)庫(kù)正向建模(支持?jǐn)?shù)據(jù)表,存儲(chǔ)過(guò)程,視圖),并生成相關(guān)DDL
          2、數(shù)據(jù)庫(kù)反向工程,支持從數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù)表,存儲(chǔ)過(guò)程,視圖等數(shù)據(jù)庫(kù)元素
          3、多數(shù)據(jù)平臺(tái),包括Oracle,DB2,MySql,MsSql,Sybase,PostgreSql等
          4、生成測(cè)試數(shù)據(jù),可以根據(jù)數(shù)據(jù)庫(kù)模型生成測(cè)試數(shù)據(jù),方便進(jìn)行單元測(cè)試。
          5、生成相應(yīng)ORM代碼及配置文件,支持Hibernate3,OJB,IBatis及OpenJPA






          以下是為IBatis生成的XML:

          <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"    "http://ibatis.apache.org/dtd/sql-map-2.dtd">
          <sqlMap>
           <sql id="selectUserWhere">
            <dynamic prepend="where">
             ..這里省略部分內(nèi)容
                 </isPropertyAvailable>
             <isPropertyAvailable prepend="or" property="user_Or_NotNull_State"><![CDATA[STATE_C is not null]]>
             </isPropertyAvailable>
            </dynamic>
           </sql>
           <delete id="deleteUser" parameterClass="String"><![CDATA[
           Delete From demo.user_t
           Where USER_ID=#userId#
          ]]>
           </delete>
           <select id="getUserRolesByUser" parameterClass="String" resultMap="userRoleResult"><![CDATA[
           Select  USER_ID, ROLE_ID from demo.user_role_t
           
           Where USER_ID=#userId#
          ]]>
           </select>
           <select id="doCountUser" parameterClass="java.util.Map" resultClass="int"><![CDATA[
           Select count(*) From demo.user_t
           $Where$ $condition$]]>
           </select>
           <update id="updateUser" parameterClass="user"><![CDATA[
           Update demo.user_t SET  USER_ID=#userId# ,  USER_NAME=#userName# ,  PASSWORD=#password# ,  VALID_FROM=#validFrom# ,  VALID_TO=#validTo# ,  TITLE=#title# ,  DESCRIPTION=#description# ,  DOMAIN_C=#domain# ,  GROUP_C=#group# ,  ORDER_C=#order# ,  STATE_C=#state# Where USER_ID=#userId#
          ]]>
           </update>
           <insert id="insertUser" parameterClass="user"><![CDATA[
           Insert Into demo.user_t(USER_ID , USER_NAME , PASSWORD , VALID_FROM , VALID_TO , TITLE , DESCRIPTION , DOMAIN_C , GROUP_C , ORDER_C , STATE_C)
           Values(#userId# , #userName# , #password# , #validFrom# , #validTo# , #title# , #description# , #domain# , #group# , #order# , #state#)
          ]]>
           </insert>
           <select id="doSelectUser" parameterClass="java.util.Map" resultMap="userResult"><![CDATA[
           Select  USER_ID, USER_NAME, PASSWORD, VALID_FROM, VALID_TO, TITLE, DESCRIPTION, DOMAIN_C, GROUP_C, ORDER_C, STATE_C from demo.user_t
           
           $Where$ $condition$]]>
           </select>
           <select id="selectUser" parameterClass="java.util.Map" resultMap="userResult"><![CDATA[
           Select  USER_ID, USER_NAME, PASSWORD, VALID_FROM, VALID_TO, TITLE, DESCRIPTION, DOMAIN_C, GROUP_C, ORDER_C, STATE_C from demo.user_t
           
          ]]>
            <include refid="selectUserWhere"/>
           </select>
           <select id="selectUserByID" parameterClass="String" resultMap="userResult"><![CDATA[
           Select  USER_ID, USER_NAME, PASSWORD, VALID_FROM, VALID_TO, TITLE, DESCRIPTION, DOMAIN_C, GROUP_C, ORDER_C, STATE_C from demo.user_t
           Where USER_ID=#userId#
          ]]>
           </select>
           <select id="doDeleteUser" parameterClass="java.util.Map"><![CDATA[
           Delete From demo.user_t
           $Where$ $condition$]]>
           </select>
           <delete id="deleteUserByID" parameterClass="String"><![CDATA[
           Delete From demo.user_t
          ]]>
            <include refid="selectUserWhere"/>
           </delete>
          </sqlMap>

          posted @ 2007-09-07 00:19 豬兒笨笨 閱讀(1475) | 評(píng)論 (8)編輯 收藏

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(18)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 叶城县| 贵德县| 通渭县| 巴塘县| 萨嘎县| 乌兰县| 潜江市| 尉犁县| 平原县| 嫩江县| 永仁县| 东乡县| 孟津县| 道孚县| 个旧市| 吴旗县| 抚宁县| 巴林右旗| 威信县| 仪陇县| 郴州市| 来宾市| 苍梧县| 扶沟县| 临清市| 清河县| 长春市| 河东区| 临漳县| 广州市| 东丰县| 南部县| 黑龙江省| 山丹县| 五大连池市| 青冈县| 黔江区| 沙田区| 绩溪县| 揭阳市| 深圳市|