首页 > 代码库 > Ibator插件安装、配置及使用说明

Ibator插件安装、配置及使用说明


1.     Ibator介绍

Ibator是iBATIS的代码发生器。其原名叫abator。后来更名为Ibator,同一时候代码结构也做了对应的一些改动。所以两者的配置也有所不同。Ibator能够生成一个数据库中的一个表(或多个表)的DAO层、DO层及符合iBATIS规范的配置。它降低了我们编写配置文件、创建DO及DAO的工作量,而且能够创建简单的CRUD(创建。检索,更新,删除)。我们能够在此基础之上进行改动。而不必全然的又一次去实现了。这很大的节省了我们的工作量,特别是操作比較多的表的时候,这个优势体现的更加明显。

2.     Ibator插件安装

Ibator插件有多种安装方式。而且Eclipse、MyEclipse都能支持。

本文档介绍的是Eclipse下的本地安装方式:

首先:下载插件:http://download.csdn.net/detail/rchm8519/8121031

然后按下面步骤操作:

在eclipse菜单中打开插件安装界面:Help -> InstallNew Software ...

技术分享技术分享

技术分享

技术分享

接下来 继续点 Next 就可以,最后重新启动Eclipse。

验证插件是否成功安装:

从Eclipse菜单条依次点击:File—>New—>Other: 在搜索框中输入 “ib”,如出现下图表示成功安装。

技术分享技术分享

3.     Ibator配置介绍

 在Eclipse中新建一个Java Project,然后右键New>Other 选择ABator for iBatisconfiguration File,FileName默觉得ibatorConfig.xml。点击“完毕”。Eclipse会在程序根文件夹下建立ibatorConfig.xml文件。打开编辑它。初始内容例如以下:

<?xmlversion="1.0" encoding="UTF-8" ?>

<!DOCTYPE ibatorConfiguration PUBLIC"-//Apache SoftwareFoundation//DTDApache iBATISIbator Configuration 1.0//EN""http://ibatis.apache.org/dtd/ibator-config_1_0.dtd" >

<ibatorConfiguration >

 <ibatorContext id="context1" >

   <jdbcConnection driverClass="?

?

?

"connectionURL="?

??" userId="?

?

?" password="?

??"/>

   <javaModelGenerator targetPackage="?

??"targetProject="??

?

" />

   <sqlMapGenerator targetPackage="?

??

"targetProject="?

?

?" />

   <daoGenerator targetPackage="???"targetProject="???

" type="GENERIC-CI" />

   <table schema="???" tableName="??

?" >

     <columnOverride column="?

??" property="?

??

" />

   </table>

 </ibatorContext>

</ibatorConfiguration>

依据自己的需求进行配置:

<?xmlversion="1.0" encoding="UTF-8" ?

>

<!DOCTYPE ibatorConfiguration PUBLIC"-//Apache SoftwareFoundation//DTDApache iBATISIbator Configuration 1.0//EN""http://ibatis.apache.org/dtd/ibator-config_1_0.dtd" >

<ibatorConfiguration >

   <!-- 注意classPathEntry位置,改属性不在默认配置文件里,须要手动加入,用于指定数据库驱动路径-->

  <classPathEntry location="e:/mysql-connector-java-5.1.30.jar" />

 <ibatorContext id="context1" >

  <!-- 分别为: 驱动名称,数据库URL,username,password-->

   <jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/test"userId="root" password="123" />

   <!-- javaBean生成器 targetPackage:包名。targetProject:项目名-->

   <javaModelGenerator targetPackage="com.domain"targetProject="iBatisDemo" />

   <!-- 映射文件生成器 -->

   <sqlMapGenerator targetPackage="com.config"targetProject="iBatisDemo" />

   

<!-- dao生成器,type 指定生成dao类的模板。可选择IBATIS、SPRING、GENERIC-CI、GENERIC-SI
    implementationPackage dao实现类的包名 -->
    <daoGenerator targetPackage="com.dao" targetProject="iBatisDemo" implementationPackage="com.dao.impl" type="SPRING" />
    
    <!-- 表名属性映射 tableName为表名,可使用SQL通配符%和_,  domainObjectName为相应类名,如不写则默认和表名同样 -->
    <table schema="" tableName="usertbl" domainObjectName="UsertblDomain">
    <!-- columnOverride 指定属性名称。不指定则以默认规则处理:字母先全变小写,然后去掉下划线。下划线后首字母大写 -->
      <columnOverride column="id" property="uid" />
    </table>
    <table schema="" tableName="%" domainObjectName="" >
    <!-- 是否使用列名做属性名。默认值为false, 处理规则:字母先全变小写。然后去掉下划线,下划线后首字母大写-->
    <property name="useActualColumnNames" value="http://www.mamicode.com/true"/>
    <!-- 指定生成主键的语句 -->
    <generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()+1"/>
    <!-- 指定生成列名的 替换规则  -->
    <columnRenamingRule searchString="flag" replaceString="FLAG" />
    <!-- 指定生成的列名 -->
    <columnOverride column="id" property="uid" />
    <!-- 忽略掉无需生成的列 -->
    <ignoreColumn column="sendFlag"/>
    </table>

 </ibatorContext>

</ibatorConfiguration>

4.     Ibator代码生成及优化

配置完毕后。在配置文件上右击,如图:选择GenerateiBATIS Artifacts

技术分享

技术分享

运行完毕后就会发现。项目src下已经生成好了我们指定的文件夹及文件:

技术分享技术分享

 打开文件后你发现,Ibator在生成的时候,会为每一个方法、每一个配置都生成凝视,有时显得非常啰嗦且无用。看着影响心情。有没有办法不让它生成凝视呢?有,可是我们仅仅能改动源代码Ibator的源代码啦,在插件安装完毕后,安装文件夹下的源文件:eclipse\plugins\org.apache.ibatis.ibator.core_1.2.1\ibator-src.zip。解压后复制到Eclipse下

优化一:清除凝视

找到文件:org.apache.ibatis.abator.internal.DefaultCommentGenerator.java,把不须要生成凝视的方法的内容都清空吧,这些都是void方法。不会有其它的应用。

优化二:清除DAO中多余方法

另外在生成的DAO及DAO实现中有不少的Example方法。在配置文件里也有,这些假设你也用不到的话也能够为了处理掉。把以下两个类找到:

   org.apache.ibatis.ibator.generator.ibatis2.dao.DAOGenerator中的getCompilationUnits方法

   org.apache.ibatis.ibator.generator.ibatis2.sqlmap.SqlMapGenerator中的getSqlMapElement方法

   把当中的带Example的方法其调用的地方所有凝视掉就可以

优化三:去除ID前缀ibatorgenerated_

还有在生成的配置文件里的id还有前缀“ibatorgenerated_”。看着也认为太长。此时找到文件:

   org.apache.ibatis.ibator.config.MergeConstants,将NEW_XML_ELEMENT_PREFIX的值设为空"" 再生成就能够了。

也能够直接下载优化好的jar文件,替换就可以。

下载地址:http://download.csdn.net/detail/rchm8519/8121031

Ibator插件安装、配置及使用说明