摘要: 文章《Wicket1.3中Class熱加載--使用篇》的姐妹篇。
介紹Wicket1.3中如何實現類的熱加載功能,從而在修改類(包括添加或者刪除Field,Method)時,無須重新啟動服務器,即可生效。
閱讀全文
摘要: 介紹如何使用Wicket1.3的類熱加載功能,從而在修改類(包括添加或者刪除Field,Method)時,無須重新啟動服務器,即可生效。從而提高Wicket開發效率。
閱讀全文
Aquarius Orm Studio發布正式0.1版本,可以通過下面地址訪問
http://orm.aquatool.org/nl/zh/CN/index.html
下面是它的基本功能介紹
- 數據庫正向建模(支持數據表,存儲過程,視圖),并生成相關DDL
- 數據庫反向工程,支持從數據庫導入數據表,存儲過程,視圖等數據庫元素
- 支持多數據平臺,包括Oracle,DB2,MySql,MsSql(支持2005),Sybase,PostgreSql等
- 生成測試數據,可以根據數據庫模型生成測試數據,方便進行單元測試。
- 生成相應ORM代碼及配置文件,支持Hibernate3,OJB,IBatis及OpenJPA
- 支持多國語言,包括中文(簡體,臺灣繁體,香港繁體),英文,日文(謝謝Judy.Chang的日文翻譯)
- 支持生成Html格式的文檔,用來方便管理和歸類
- 支持使用Velocity模板生成多種類型的文件
它支持Eclipse3.2,Eclipse3.3,Eclipse3.4
在網站可以下相應的All-In-One版本(包含WTP),也可以下載相應的RCP版本或者是相應插件安裝包
還可以通過
http://orm.aquatool.org/nl/download/update 在級升級
源代碼正在申請Google的代碼庫,將于近期放出。
開源協議我還在考慮中,但個人使用肯定是永遠免費。
如果有問題,可以發站內消息或者直接發Email到wl_95421@yahoo.com.cn與我聯系
下載地址
(重要提示:如果安裝不成功,嘗試將feature文件夾刪掉)
文件比較大,大概有近20M,使用Zip壓縮。
現在發布的是Beta版,SourceForge上面的空間正在申請。
發布的版本,支持Eclipse3.2和Eclipse3.3,需要GEF插件,可以在1.4及1.5下運行(我只測試了Sun JDK1.4和JDK1.5的三個版本,并不保證所有的JDK都能運行)。
RCP版本正整理中,國慶前發布。
如果有問題,請留言
以下是工具的介紹
Aquarius ORM Studio介紹
從事軟件開發多年,感覺數據庫在整個軟件開發過程中扮演一個不可或缺的角色。一旦一個業務項目進入立項階段,需要支持哪些數據庫平臺,如何使用該種數據庫平臺都將成為架構師需要考慮的內容,對于一般的開發人員,則可能根據需要建立各種數據表,還可能需要通過反向工程來了解現有數據庫的架構,隨著ORM工具的流行,程序員還需要將數據表映射到類上,并保證兩者間的同步,過去幾年從事相應工作的經驗告訴我,這既不是一個輕松的事情,更不是一件令人感覺愉快的事情。同時市場上有大量優秀的數據庫工具,從建模到分析,還有ORM,但可惜的是,大部分優秀的工具都不是免費的,就像最有名的PowerDesigner,其價格令我咋舌。象 PowerDesigner這么強大的工具,我只能用到其中一部分功能,卻要付出所有的價格,而且功能卻沒有滿足的我的需要。
所以我萌生了根據自己的需求來開發一個數據庫 工具的想法,并在接下來的兩年中付諸實施。這個工具我稱為Aquarius Orm Studio,Aquarius是水瓶座,我的星座,ORM是指這個工具的一個重要功能,Studio是個流行詞。
這個工具可以完成以下功能:
數據庫正向建模(支持數據表,存儲過程,視圖),并生成相關DDL
數據庫反向工程,支持從數據庫導入數據表,存儲過程,視圖等數據庫元素
支持多數據平臺,包括Oracle,DB2,MySql,MsSql,Sybase,PostgreSql等
生成測試數據,可以根據數據庫模型生成測試數據,方便進行單元測試。
生成相應ORM代碼及配置文件,支持Hibernate3,OJB,IBatis及OpenJPA
支持多國語言,包括中文(簡體,臺灣繁體,香港繁體),英文,日文(謝謝Judy.Chang的日文翻譯)



我的主要工作是做Eclipse插件開發
在開發中,遇到一些問題,比較麻煩,象轉換文件編碼,或者替換文件內容(Eclipse的雖然支持正則式,但只能替換成單行字符串,不爽)
所以自己開發一個小插件,放出來,方便大家,支持以下功能:
1、將指定的多個文件,進行編碼轉換,如GBK->UTF-8(因為我做插件開發的時候,默認是GBK,現在要發布源碼,國外的開發人員,就有問題,所以做了這個插件)
2、對指定的多個文件,進行替換,支持多行文本和正則式
3、將指定的多個文件,恢復到最近一個版本。
下載地址
另外做個預告:
本周內將發布我的一個Eclipse數據庫插件(約100K行代碼),支持以下功能:
1、數據庫正向建模(支持數據表,存儲過程,視圖),并生成相關DDL
2、數據庫反向工程,支持從數據庫導入數據表,存儲過程,視圖等數據庫元素
3、多數據平臺,包括Oracle,DB2,MySql,MsSql,Sybase,PostgreSql等
4、生成測試數據,可以根據數據庫模型生成測試數據,方便進行單元測試。
5、生成相應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">
..這里省略部分內容
</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>
這里是《Wicket開發指南》一書的代碼
已經整理完了
代碼與書上基本一致,主要區別在于Page繼承自AbstractExamplePage而非WebPage。而且在每個Html頁面上多了一個mainNavigation,以提供View Source功能。,方便查看源代碼。
這些源代碼不再需要額外的付出,任何人都可以下載,當作《Wicket開發指南》一書全文下載不方便的一些補償吧。
下面是下載地址:
http://gocom.primeton.com/modules/newbb/titleflat_5087_41.htm