如何使用Abator利器来开发ibatis应用实例!

Abator——Ibatis代码生成工具

前面讲过Spring+Ibatis集成开发实例课程,但对于iBatis这些配置文件有没有一种能够自动生成相关代码呢?答案是肯定的,有。在iBatis官方网站中介绍了一款生成iBatis代码工具——Abator!一个IBatis自动生成工具,他可以帮助你生成大量的DAODTOsqlmap

下面就给大家详细介绍一下如何使用Abator工具来自动生成iBatis代码:

首先下载Abator插件,可以使用link方式将其安装到Eclipse,也可以进行Find And Install来安装;

如果使用link方式进行安装,其Abator下载地址为:http://people.apache.org/builds/ibatis/alpha/AbatorForEclipse1.0.0.zip

(关于link方式如何安装不在本文范畴,要参见:http://blog.csdn.net/apicescn/archive/2005/03/19/323478.aspx).

采用Find And Install安装Eclipse插件
1.
要求eclipse3.3jdk1.4以上
2.
eclipse上安装abator插件
eclipse
菜单栏 --> help --> Software Updates --> Find And Install...
在弹出的对话框中选择 “Search for new features to install” 然后点击 “next”
在对话框中点击按钮 New Remort Site... 在弹出的对话框中的URL输入框中填写 http://ibatis.apache.org/tools/abator Name输入框就随便写abator就行了。
点击Finish,安装插件,然后重新启动eclipse

下面将介绍如何使用该插件完成自动生成ibatis代码的功能:
1.
新建一个java工程(如何建立java工程以及相关基础知识不在本范畴).
2.
eclipse菜单栏中新建一个 abator 配置文件 File --> Abator for iBatis Configration File

好的,我们完成了创建配置文件,下面打开abator生成的配置文件:

Abator配置文件(abatorConfig.xml)

<? xmlversion="1.0"encoding="UTF-8" ?>
<! DOCTYPEabatorConfigurationPUBLIC"-//ApacheSoftwareFoundation//DTDAbatorforiBATISConfiguration1.0//EN"
"http://ibatis.apache.org/dtd/abator-config_1_0.dtd"
>

< abatorConfiguration >
< abatorContext > <!-- TODO:AddDatabaseConnectionInformation -->
< jdbcConnection driverClass ="???"
connectionURL
="???"
userId
="???"
password
="???" >
< classPathEntry location ="???" />
</ jdbcConnection >

< javaModelGenerator targetPackage ="???" targetProject ="???" />
< sqlMapGenerator targetPackage ="???" targetProject ="???" />
< daoGenerator type ="IBATIS" targetPackage ="???" targetProject ="???" />

< table schema ="???" tableName ="???" >
< columnOverride column ="???" property ="???" />
</ table >

</ abatorContext >
</ abatorConfiguration >

我们需要做的是替换一些???
1.
填写driverClassjdbc驱动,例如MySql的就是com.mysql.jdbc.Driver
2.
填写connectionURL(连接字符串,例如MySql的就是jdbc:mysql://localhost:3306/ibatis
3.
填写classPathEntrylocationjdbc驱动jar包的位置,例如:lib/mysql-connector-java-3.1.5-gamma-bin.jar
4.
填写javaModelGenerator,生成的DTOjava model 类)
targetPackage
:目标包的位置,如 com.etong.test.daomain
targetProject
:目标源文件夹位置,如:..\test\src\main\java\
5. 填写sqlMapGenerator ,生成的xml sqlmap的相关配置
targetPackage
:目标位置,如.表示放在该目标源文件夹的根目录下.
targetProject
:目标源文件夹位置,如:..\test\src\main\resources\
6.
填写daoGenerator ,生成的DAO的相关配置
type
:生成的dao实现的类型,如果你使用spring的话写SPRING,否则写IBATIS
targetPackage
:目标位置,如 com.etong.test.dao
targetProject
:目标源文件夹位置,如:..\test\src\main\java\
7. 配置相关数据库的表
schema
:数据库schema (如果是oracle就是填写数据库的用户名)
tableName
:表名
columnOverride:表的字段名.

修改后的abatorConfig.xml配置文件内容如下:

<? xmlversion="1.0"encoding="UTF-8" ?>
<! DOCTYPEabatorConfigurationPUBLIC"-//ApacheSoftwareFoundation//DTDAbatorforiBATISConfiguration1.0//EN"
"http://ibatis.apache.org/dtd/abator-config_1_0.dtd"
>

< abatorConfiguration >
< abatorContext >
< jdbcConnection driverClass ="com.mysql.jdbc.Driver"
connectionURL
="jdbc:mysql://localhost:3306/ibatis" userId ="Allen"
password
="Allen" >
< classPathEntry
location ="lib/mysql-connector-java-3.1.5-gamma-bin.jar" />
</ jdbcConnection >

< javaTypeResolver >
< property name ="forceBigDecimals" value ="false" />
</ javaTypeResolver >

< javaModelGenerator targetPackage ="com.etong.test.daomain"
targetProject
=".. estsrcmainjava" >
< property name ="enableSubPackages" value ="true" />
< property name ="trimStrings" value ="true" />
</ javaModelGenerator >

< sqlMapGenerator targetPackage ="."
targetProject
=".. estsrcmain esources" >
< property name ="enableSubPackages" value ="true" />
</ sqlMapGenerator >

< daoGenerator type ="SPRING" targetPackage ="com.etong.test.dao"
targetProject
=".. estsrcmainjava" >
< property name ="enableSubPackages" value ="true" />
</ daoGenerator >

< table schema ="ibatis" tableName ="ibatis" >
< property name ="useActualColumnNames" value ="true" />
< generatedKey column ="ID" sqlStatement ="ORACLE"
identity
="true" />
< columnOverride column ="id" property ="id" />
< columnOverride column ="name" property ="name" />
</ table >
</ abatorContext >
</ abatorConfiguration >

配置完这个xml文件以后,下面就可以开始自动自成iBatis的相关文件了,有三种方法可供选择,具体做法如下:

一、 在配置文件上点击右键,选择 “Generate iBatis Artifacts”,即可生成所有的java文件以及sqlmap配置文件等等,但这种方式在Eclipse中需要先运行abator这个程序,所以不太好用,不建议使用。

二、 使用Ant来构建,Ant配置文件如下所示:

<? xmlversion="1.0"encoding="GBK" ?>
<!--
作者:Allen
createdate:2007-08-20
-->
< project name ="test" default ="compile" basedir ="." >
<!-- properies源文件夹 -->
< property name ="src.dir" value ="src/main/java" />
< property name ="main.resource.dir" value ="src/main/resources" />
< property name ="junitsrc.dir" value ="src/test/java" />
< property name ="junitsrc.resource.dir" value ="src/test/resources" />
< property name ="generated.source.dir" value ="${basedir}" />

<!-- temporarybuilddirectorynames编译及引用类库文件夹 -->
< property name ="classes.dir" value ="target/classes" />
< property name ="lib.dir" value ="lib" />
< property name ="dist.dir" value ="dist" />
< property name ="doc.dir" value ="doc" />

<!-- 单元测试和Todo报告文件夹 -->
< property name ="junit.dir" value ="junit" />
< property name ="report.main.dir" value ="report/main" />
< property name ="report.test.dir" value ="report/test" />

<!-- 定义classpath -->
< path id ="master-classpath" >
<!-- 替换如下方式<filesetfile="${lib.dir}/*.jar"/> -->
<!--
也可以写成如下方式,此方式同上面方式基本一致,这种方式可以通过include来限定
导入的类库,如果不限定即可使用通配符**/*来替代!
-->
< fileset dir ="${lib.dir}" >
< include name ="**/*.jar" />
</ fileset >
< pathelement path ="${classes.dir}" />
</ path >

<!-- 初始化开始任务 -->

< target name ="init" >
< mkdir dir ="${src.dir}" />
< mkdir dir ="${main.resource.dir}" />
< mkdir dir ="${junitsrc.dir}" />
< mkdir dir ="${junitsrc.resource.dir}" />
< mkdir dir ="${classes.dir}" />
< mkdir dir ="${lib.dir}" />
< mkdir dir ="${dist.dir}" />
</ target >

<!-- 清除任务 -->
< target name ="clean" >
< delete dir ="${classes.dir}" />
</ target >

<!-- 清除所有任务 -->
< target name ="cleanAll" depends ="clean" >
< delete dir ="${src.dir}" />
< delete dir ="${main.resource.dir}" />
< delete dir ="${junitsrc.dir}" />
< delete dir ="${junitsrc.resource.dir}" />
< delete dir ="${dist.dir}" />
< delete dir ="${doc.dir}" />
< delete dir ="${junit.dir}" />
< delete dir ="${report.main.dir}" />
< delete dir ="${report.test.dir}" />
</ target >

<!-- =================================
target:prepart记录构建时间
=================================
-->
< target name ="prepart" depends ="init" description ="createthebuilddirdctoriespriortoacompile" >
< tstamp >
< format property ="now" pattern ="MMMMdyyyyhh:mmaa" />
http://images.csdn.net/sy
分享到:
评论
wapysun
  • 浏览: 4862260 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

你可能感兴趣的:(eclipse,spring,mysql,ibatis,jdbc)