日期:2014-05-16  浏览次数:20321 次

发布自己的一个Eclipse小工具插件,并为自己的数据库建模插件作个预告
下载地址

因为SourceForge太慢,所以放到Mofile上,中午准备把数据库插件也上传上去。

我的主要工作是做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(支持中间表实现many-to-many)
6、详细的帮助文档(多国语言)

附件中是一个插件的zip包和数据库插件的预览图。

顺便说一下,我写的插件,都支持Eclipse3.2和Eclipse3.3,都支持以下多国语言
中文(简体,台湾繁体,香港繁体),英文,日文


下面是为IBatis框架生成的SQL语句





<!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 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>
1 楼 惊鸿逝水 2007-09-07  
强烈关注,建议加精!