Abator 能自动生成DAO,DTO和sqlMap,大大提高开发效率。Abator 的官方网站:http://ibatis.apache.org/ibator.html
使用也比较简单,以下做个实例来介绍:
一、环境准备
我的环境:Eclipse SDK Version: 3.5.2
JDK1.6
Oracle9i
二、插件安装
1、点击"Help>Install New Software"
2、点击【Add】,输入Name: Abator for Eclipse Update Site URL: http://ibatis.apache.org/tools/abator
3、点击【OK】,这里我选最后一个安装(Abator for Eclipse3.2)
4、然后点【next】,最后【finish】,安装完成。然后会有个提示框,是否要重启Eclipse,点击【yes】重启。
5、在eclipse的菜单栏中可以看到: File > New > Abator for iBATIS Configuration File, 即安装成功。
三、功能应用
1、新建工程test。在src目录下建【resources】包。
2、选中resources包,然后点击eclipse菜单栏的:File > New > Abator for iBATIS Configuration File
3、点击【Finish】,自动生成abatorConfig.xml。
4、替换abatorConfig.xml中的???:
①. 填写driverClass(jdbc驱动,例如oracle的就是oracle.jdbc.driver.OracleDriver)
②. 填写connectionURL(连接字符串,例如oracle的就是jdbc:oracle:thin:@localhost:1521:orcl)
③. 填写classPathEntry的location(jdbc驱动jar包的位置,例如D:/myproject/test/WEB-INF/lib/ojdbc14.jar)
④. 填写javaModelGenerator,生成的DTO(java model 类)
targetPackage:目标包的位置,如 com.test.model
targetProject:目标工程名称,填写配置文件所在的eclipse工程名,如test/src
⑤. 填写sqlMapGenerator ,生成的xml sqlmap的相关配置
targetPackage:目标位置,如 com.test.sqlmap
targetProject:目标工程名称,填写配置文件所在的eclipse工程名,如test/src
⑥. 填写daoGenerator ,生成的DAO的相关配置
type:生成的dao实现的类型,如果你使用spring的话写SPRING,否则写IBATIS
targetPackage:目标位置,如 com.test.dao
targetProject:目标工程名称,填写配置文件所在的eclipse工程名,如test/src
⑦. 配置相关数据库的表
schema:数据库schema,oracle就是填写数据库的用户名,如test
tableName:表明,如ttest
catalog:数据库名,如orcl
注释掉<columnOverride column="???" property="???" />,不写columnOverride的话生成所有字段
替换后的abatorConfig.xml:
- <abatorContext >
- <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
- connectionURL="jdbc:oracle:thin:@localhost:1521:orcl"
- userId="test"
- password="test" >
- <!--oracle驱动jar-->
- <classPathEntry location="D:/myproject/test/WEB-INF/lib/ojdbc14.jar" />
- </jdbcConnection>
- <!--targetPackage指定一个包名存放model bean,targetProject是工程名-->
- <javaModelGenerator targetPackage="com.test.model" targetProject="test/src" />
- <!--sqlMapGenerator 指定一个包名存放sqlMap.xml-->
- <sqlMapGenerator targetPackage="com.test.sqlmap" targetProject="test/src" />
- <!--daoGenerator 指定一个包名存放dao以及daoImpl-->
- <daoGenerator targetPackage="com.test.dao" targetProject="test/src" type="SPRING" />
- <!--表名,可以多个,默认不写columnOverride的话生成所有字段-->
- <table schema="test" tableName="ttest" catalog="orcl">
- <!--<columnOverride column="???" property="???" />-->
- </table>
- </abatorContext>
5、在配置文件上点解右键,选择 “Generate iBATIS Artifacts”
生成结果
一、abator自动生成配置:
abator自动生成ibatis的配置文件、mode、sqlMap、dao、bean实例
准备:
1、安装Eclipse插件:
要求eclipse3.1,jdk1.4以上
在eclipse上安装abator插件
eclipse菜单栏 --> help --> Software Updates --> Find And nstall...
在弹出的对话框中选择 “Search for new features to install” 然后点击 “next”
在对话框中点击按钮 New Remort Site... 在弹出的对话框中的URL输入框中填写 http://ibatis.apache.org/tools/abator ,Name输入框就随便写些什么了。
点击Finish,安装插件,然后重新启动eclipse
2、在eclipse项目中新建Abator Configuration File,名为:abatorConfig.xml(可以自定义)。
生成xml修改之后如下:
- <!DOCTYPE abatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Abator for iBATIS Configuration 1.0//EN" "http://ibatis.apache.org/dtd/abator-config_1_0.dtd" >
- <abatorConfiguration >
- <abatorContext >
- <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
- connectionURL="jdbc:oracle:thin:@198.17.1.1:1521:ORCL" userId="untodo" password="password" >
- <classPathEntry location="E:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar" />
- </jdbcConnection>
- <javaModelGenerator targetPackage="com.mochasoft.model" targetProject="downAttachdemo/src">
- <property name="enableSubPackages" value="true" />
- </javaModelGenerator>
- <sqlMapGenerator targetPackage="sqlmap" targetProject="downAttachdemo/conf>
- <property name="enableSubPackages" value="true" />
- </sqlMapGenerator>
- <daoGenerator targetPackage="com.mochasoft.dao" targetProject="downAttachdemo/src" type="ibatis">
- <property name="enableSubPackages" value="true" />
- </daoGenerator>
- <table schema="untodo" tableName="APP" >
- <columnOverride column="SYS_ID" property="sysId" />
- <columnOverride column="SYS_NAME" property="sysName" />
- </table>
- </abatorContext>
- </abatorConfiguration>
3、在配置文件上点解右键,选择 “Generate iBatis Artifacts”
说明:driverClass:数据库连接驱动类
connectionURL:数据库连接地址
userId:数据库用户
passwor:数据库密码
location:数据库驱动jar包地址(本地)
targetPachage:自动生成的包的地址,(可以是已建好的,也可以是未建的)
targetProject:自动生成的项目名
type:生成dao文件的类型,可选择IBATIS、SPRING、GENERIC-CI、GENERIC-SI。默认使用GENERIC-CI
- <property name="enableSubPackages" value="false" />
schema:Oracle的话填写用户名
tableName:要生成的表名
column:表字段名
property:表映射生成类属性名
talbe下的字段说明:
tableName 数据库表明,据说可以包含SQL通配符%和_。
domainObjectName 数据库表对应的数据对象名称,默认使用表名作为对象名称。
- <property name="useActualColumnNames" value="true"/>
对象的属性名是否使用字段名称
- <generatedKey column="ID" sqlStatement="DB2" identity="true" />
column 自增长或使用sequence生成的字段名
sqlStatement 生成字段的sql片段或其简称(参考官方文档)
identity true表示后生成,false表示预生成
例如:
- postgresql:<generatedKey
- column="lid"
- sqlStatement="select nextval('tb000000producttype_lid_seq')"
- identity="false" />
- sqlserver:<generatedKey
- column="lid"
- sqlStatement="SqlServer"
- identity="true" />
- oracle:<generatedKey
- column="lid"
- sqlStatement="select tb000000producttype_lid_seq.nextval from dual"
- identity="false" />
- <columnOverride column="DATE_FIELD" property="startDate" />
column 字段名
property 字段对应的属性名。(默认使用字段名的)
javaType 对应的Java类型
jdbcType 对应的jdbc类型
这里的设置覆写javaTypeResolver中的指定
- <ignoreColumn column="FRED" />
column 需要忽略的数据库字段
- <columnRenamingRule searchString="^CUST_" replaceString="" />
数据库字段名称到对象属性名称的影射关系。就是一个替换处理。
总结:图文并茂,过程简单明了,即使从来没听说过Abator,看了到这里也都会操作了,希望对你有帮助,呵呵。