使用iBatis的自动化代码生成工具Abator
原来还不知道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测试,内容是:
Xml代码
1. <abatorConfiguration> 2. <abatorContext> <!-- TODO: Add Database Connection Information --> 3. <!--这里大家应该都明白是什么意思--> 4. <jdbcConnection driverClass="com.mysql.jdbc.Driver" 5. connectionURL="jdbc:mysql://localhost:3306/lunjian" 6. userId="root" 7. password="admin"> 8. <!--mysql驱动jar--> 9. <classPathEntry location="D:\Tomcat5\webapps\MoloonMarket\WEB-INF\lib\mysql-connector-java-5.0.4-bin.jar" /> 10. </jdbcConnection> 11. <!--targetPackage指定一个包名存放model bean,targetProject是工程名--> 12. <javaModelGenerator targetPackage="com.itatis.domain" targetProject="MJTserver" /> 13. <!--sqlMapGenerator 指定一个包名存放sqlMap.xml--> 14. <sqlMapGenerator targetPackage="com.itatis.persistence.xml" targetProject="MJTserver" /> 15. <!--daoGenerator 指定一个包名存放dao以及daoImpl--> 16. <daoGenerator type="IBATIS" targetPackage="com.itatis.persistence.sqlmapdao" targetProject="MJTserver" /> 17. <!--表名,可以多个,默认不写columnOverride的话生成所有字段--> 18. <table tableName="users"> 19. <!-- <columnOverride column="???" property="???" /> --> 20. </table> 21. 22. </abatorContext> 23. </abatorConfiguration>
<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的自动化代码生成工具Abator相关推荐
- mybatis java8_Java 8 开发的 Mybatis 注解代码生成工具
MybatisAnnotationTools MybatisAnnotationTools 是基于 Java8 开发的一款可以用于自动化生成 MyBatis 注解类的工具,支持配置数据源.类路径,表名 ...
- java代码中 作用_Java利用开发中代码生成工具的作用
Java利用开发中代码生成工具的作用 2010-6-5文字大小:大中小 近来,随着各种代码生成工具的不断涌现(如SpringSource的Spring Roo.Skyway Builder Commu ...
- 常用代码生成工具汇总(转)
1.1 CodeSmith 一款人气很旺国外的基于模板的dotnet代码生成器 官方网站:http://www.codesmithtools.com 官方论坛:http://forum.codesmi ...
- 如何提高程序员人效?代码生成工具/框架
image.png 最近事情太多,很久没有更新简书,突然想起如何提高程序员人效这个问题,就推荐一篇代码生成工具/框架的文章. http://www.cnblogs.com/skyme/archive/ ...
- SMC - 状态机代码生成工具
SMC - 状态机代码生成工具 一.介绍 1.1 smc简介 1.2 环境准备 二. smc文件格式说明 三.java - smc 代码生成过程 3.1 java环境 3.2 编写smc文件 3.3 ...
- ORM框架-VB/C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG】4.6
摘要:VB/C#.Net实体代码生成工具(EntitysCodeGenerate)[ECG]是一款专门为.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的程序代码基于OO.ADO.N ...
- 前端开发自动生成html,专业前端开发人员推荐的几款CSS 3代码生成工具
本期的前端开发学习主题:关于几款CSS 3代码生成工具的了解学习.相信大家在学习web前端开发学习的过程中或多或少都会接触到一些关于网站前端开发的CSS 3代码生成工具,接下来的学习,将为大家简单说说 ...
- mcg-helper自动化流程工具
分享一款github开源项目mcg-helper,独特的"流程自动化"工具,实现绿色.轻量级.无浸入.可扩展的B/S独立应用.采用可视化界面设计,通过绘制流程图,结合拖拽式控件,快 ...
- 狼奔代码生成工具使用心得
狼奔代码生成工具(http://ltfwan.d33140.jit8.cn)是一款为程序员设计的代码生成器,更是一款软件项目智能开发平台,它可以自动生成ASP.NET页面及后台代码,采用了面向服务的架 ...
最新文章
- c4d中的3D插图制作视频教程 Skillshare – 3D Illustration in Cinema 4D
- laravel中TokenMismatchException异常处理
- x+2y+3z=n的非负整数解数
- 【COGS1752】 BOI2007—摩基亚Mokia
- 谈谈Runtime类中的freeMemory,totalMemory,maxMemory几个方法
- darknet activate_array
- LoRaWAN 巩固了其作为低功耗广域网主导技术的地位
- Java中的时间和日期(下)
- 文本框中只能输入小于等于100的正整数
- oracle服务名连接慢,数据库 – Oracle SID和服务名称;连接问题
- Axure RP 7.0 注册码
- python ftp下载上传文件或文件夹
- 智能睡眠监测带扣案列/APP/小程序/网站
- 【Java学习笔记】斗地主规则抽牌模拟(利用LinkedList集合及Collections集合工具类实现)
- python通过线程实现定时器timer的方法
- React: onRef 和 ref
- 教科书般的亵渎(dfs)
- 程序员:一个女生不主动联系你还有机会吗?
- VPS是干嘛用的?有哪些知名牌子?与云服务器有什么区别?
- ② ESP8266 开发学习笔记_By_GYC 【ESP8266 驱动 ws2812 三原色灯(spi方式 稳定灯光)】