2008-03-11
使用iBatis的自动化代码生成工具Abator
关键字: ibatis原来还不知道iBatis也有像Hibernate类似的自动化代码生成工具,今天找到Abator这工具也挺不错的,在ecelipse上面小试了一把:
1.获得Abator
http://ibatis.apache.org/abator.html
Eclipse可以自动的进行Update获取此Plugin,具体见官方的安装步骤
2.安装好后将在New菜单中看到一个新的文件类型Abator for iBATIS Configuration File,此是Abator的配置文件,配置文件的详细说明见http://ibatis.apache.org/docs/tools/abator/,文件名默认是abatorConfig.xml,根据自己的实际需求进行修改,我这里使用mysql测试,内容是:
<abatorConfiguration>
<abatorContext> <!-- TODO: Add Database Connection Information -->
<!--这里大家应该都明白是什么意思-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/lunjian"
userId="root"
password="admin">
<!--mysql驱动jar-->
<classPathEntry location="D:\Tomcat5\webapps\MoloonMarket\WEB-INF\lib\mysql-connector-java-5.0.4-bin.jar" />
</jdbcConnection>
<!--targetPackage指定一个包名存放model bean,targetProject是工程名-->
<javaModelGenerator targetPackage="com.itatis.domain" targetProject="MJTserver" />
<!--sqlMapGenerator 指定一个包名存放sqlMap.xml-->
<sqlMapGenerator targetPackage="com.itatis.persistence.xml" targetProject="MJTserver" />
<!--daoGenerator 指定一个包名存放dao以及daoImpl-->
<daoGenerator type="IBATIS" targetPackage="com.itatis.persistence.sqlmapdao" targetProject="MJTserver" />
<!--表名,可以多个,默认不写columnOverride的话生成所有字段-->
<table tableName="users">
<!-- <columnOverride column="???" property="???" /> -->
</table>
</abatorContext>
</abatorConfiguration>
3.右键单击配置文件,点击Generate iBatis Artifacts,生成文件。
就这样就生成基本的文件的了,
包括:users.java,UsersExample.java,UsersDao.java,UsersDaoImpl.java,users_SqlMap.xml
请注意,这里生成了个UsersExample.java,继承自users.java,我个人觉得是没什么用的,dao里面也包含了很多常用的接口,daoImpl里面的实现完全是按照ibatis来做的,但比较庞大,使用时得删除一些没用的东西SqlMap.xml这个文件也大,没有耐心的看着就头晕,但里面的sql语句写的还是比较标准的,如果自己用且想流程清楚些,得费点功夫改改.
有时间看看Abator这玩意的代码怎么写的,最好改改,适合简单开发就好


评论
还不如用ibatis plugin for idea的生成好用(也是ibatis作者写的)
IDEA的ibatis插件很好用,参考http://docs.google.com/View?docid=dc73pj2h_6db54mm
还不如用ibatis plugin for idea的生成好用(也是ibatis作者写的)
xiquwgugou 14 分钟前
试过一次,生成的每个类里都加了很多无用的注释,看着特别烦琐;楼主、有办法去掉吗?
这个只能改它的代码了,你可以看看ANT构建那块的代码,我还没有研究
jmu 12 小时前
问一下 我试了试 生成的用到了ibatis.dao 有没有不用dao framework的?
jmu:如果你不想生成DAO的话,你在上面的配置文件中去掉"daoGenerator",其他同理
再大笑一下
数据库名很黄很暴力