`
lt200819
  • 浏览: 188325 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ibatis 生成工具ibator的使用

 
阅读更多

最近做一个项目要用到ibatis、struts2、spring框架,以前看到过ibatis生成工具。想在项目中使用,下了官方的文档,里面有几种方法生成方法:buider.xml,java Class等,研究了一下,花了很多时间,现在觉得还是用插件好一些,现成的东西不用,要用什么命令行,真傻!咱做的是技术应用,不是研发,能最快用技术解决需要才是重点。下面总结一下用Eclipse Plugin生成sqlmap.xml,javabean,dao,daoimp等的方法:

说明:

这里使用的是ibator作为ibatisEclipse插件,ibator的主页是:http://ibatis.apache.org/ibator.html

它提供两种方式:一种是Eclipse插件,一种是独立运行。

目前针对Eclipse的版本有两个版本,

1.2.1能运行在:

· Eclipse 3.4.1 or higher

· JDK 5.0 or Higher

· 它的Eclipse插件URL下载地址为:http://ibatis.apache.org/tools/ibator

1.1.0运行在:

· Eclipse 3.2 or higher

· JDK 1.4 or Higher

· 它的Eclipse插件URL下载地址为:http://ibatis.apache.org/tools/abator

 

注意:版本问题,笔者开始用的是myEclipse6.0.1,是eclipse 3.3.1平台,装了1.2.1怎么也不能用,调查才发现,不要因为版本而影响作用。

范例:

新建一个工程,然后在该工程下新建文件,截图如下:(如果这里没有请到other..中找,截图如右:)

点击后就会新建一个文件:abatorConfig.xml。

以下是1.1.0的写法,供大家参照:

<?xml version="1.0" encoding="UTF-8" ?>

<!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="com.microsoft.jdbc.sqlserver.SQLServerDriver" connectionURL="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=cmspro" userId="cmspro" password="cmspro" >

<classPathEntry location="D:/POM/project/msbase.jar" />

<classPathEntry location="D:/POM/project/mssqlserver.jar"/>

<classPathEntry location="D:/POM/project/msutil.jar" />

</jdbcConnection>

<javaModelGenerator targetPackage="com.ucap.account.model" targetProject="account-service-impl" />

<sqlMapGenerator targetPackage="resources.sqlmaps" targetProject="account-service-impl" />

<daoGenerator targetPackage="com.ucap.account.dao" targetProject="account-service-impl" type="GENERIC-CI" />

<table tableName="cmspro_channel_privilege" domainObjectName="ChannelPrivilege"/>

</abatorContext>

</abatorConfiguration>

这里<table>标签中的domainObjectName,是用来重新命名类名。

 

以下是1.2.1的写法,供大家参照:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ibatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Apache iBATIS Ibator Configuration 1.0//EN" "http://ibatis.apache.org/dtd/ibator-config_1_0.dtd">
<ibatorConfiguration>
 <!-- 
      url     指定属性文件绝对路径。注意与指定数据库jdbc驱动jar包路径的区别哈。 
                    可以使用${property}的格式引用属性文件中的属性值。 
    <properties url="D:/WorkSpace/SSIStudy/ibator-config.properties"/>
    -->
    <!-- 
      classPathEntry 指定数据库jdbc驱动jar包的绝对路径。 可为为空
      The full path name of a JAR/ZIP file to add to the classpath, or a directory to add to the classpath
    -->  
    <classPathEntry location="D:/WorkSpace/SSIStudy/WebRoot/WEB-INF/lib" /> 
    
    <!-- 
      id                 这个id可以在使用命令行运行Abator时指定,以单独处理某一个ibatorContext 
      targetRuntime        Ibatis2Java5 生成适合JDK5.0的类,另一个选项是 Ibatis2Java2,生成适合Java2的类。
    --> 
  <ibatorContext id="SSIStudy" targetRuntime="Ibatis2Java2">
   <!-- 
           ibatorPlugin 继承自IbatorPluginAdapter,包名必须是 org.apache.ibatis.ibator.plugins,具体实现可以参考官方文档 
             必须有替换和被替换字符属性。 可以没有
     --> 
     <!-- 
   <ibatorPlugin type="org.apache.ibatis.ibator.plugins.RenameExampleClassPlugin"> 
             <property name="searchString" value="Example$" /> 
             <property name="replaceString" value="Criteria" /> 
     </ibatorPlugin> 
     
           driverClass        数据库驱动类  这里连接sqlserver2000
           connectionURL      数据库连接地址 
           userId             用户 
           password           密码 
            还可以使用以下格式添加数据库的其他连接属性
           <property name="" value=""/> 
     --> 
       
     <jdbcConnection driverClass="com.microsoft.jdbc.sqlserver.SQLServerDriver" connectionURL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=demo" userId="sa" password="sa" >
     </jdbcConnection>
     
     <javaTypeResolver > 
           <!-- 
                   默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer 
                   true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal 
           -->  
           <property name="forceBigDecimals" value="false" /> 
     </javaTypeResolver>
     <!-- //When running outside of an IDE environment like Eclipse, Ibator interprets the targetProject and targetPackage attributes in all XML configurations as follows
           targetProject        生成的Java Bean放置在哪个项目的哪个目录下 
           targetPackage        生成的Java Bean的包名 
           
             一个有用的属性
            从数据库返回的值被清理前后的空格 
           <property name="trimStrings" value="true" /> 
            是否在包名后加上scheme名称        
           <property name="enableSubPackages" value="false" />       
     -->  
     <javaModelGenerator targetPackage="cn.per.jiabeis.model" targetProject="D:/WorkSpace/SSIStudy/src">
      <property name="enableSubPackages" value="true" />
     <property name="trimStrings" value="true" />
     </javaModelGenerator>
     <!-- 
           targetProject        生成的 SqlMap.xml 文件放置在哪个项目的哪个目录下 
           targetPackage        生成的 SqlMap.xml 文件的包名 
           <property name="enableSubPackages" value="false" /> 
                   是否在包名后加上scheme名称 
      --> 
     <sqlMapGenerator targetPackage="cn.per.jiabeis.model.config" targetProject="D:/WorkSpace/SSIStudy/src">
      <property name="enableSubPackages" value="true" />
     </sqlMapGenerator>
      <!-- 
           targetProject        生成的 dao类文件放置在哪个项目的哪个目录下 
           targetPackage        生成的 dao类文件的包名 
           <property name="enableSubPackages" value="false" /> 
                   是否在包名后加上scheme名称 
           type        生成dao文件的类型,可选择IBATIS、SPRING、GENERIC-CI、GENERIC-SI。默认使用GENERIC-CI 
                       dao类在构造器中获取 SqlMapClient。 
                    
     --> 
     <daoGenerator targetPackage="cn.per.jiabeis.dao" targetProject="D:/WorkSpace/SSIStudy/src" type="IBATIS">
     <property name="enableSubPackages" value="true" />
  </daoGenerator>
  
  <!-- 
           tableName 数据库表明,据说可以包含SQL通配符%和_。 
           domainObjectName 数据库表对应的数据对象名称,默认使用表名作为对象名称。 
     --> 
     <table tableName="student" domainObjectName="Student"> 
      <!-- 
                   对象的属性名是否使用字段名称,默认为true
      --> 
      <property name="stuname" value="stuname"/> 
       <!-- 
               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" /> 
                   MySql:<generatedKey  
                       column="lid"  
                       sqlStatement="MySql"  
                       identity="false" />
                
         --> 
      <generatedKey column="stuid" sqlStatement="SqlServer" identity="true"/>
      
         <!-- 
                   数据库字段名称到对象属性名称的影射关系。就是一个替换处理。 
          --> 
         <columnRenamingRule searchString="^CUST_" replaceString="" />  
         <!-- 
                   column  字段名 
                   property 字段对应的属性名。(默认使用字段名的) 
                   javaType 对应的Java类型 
                   jdbcType 对应的jdbc类型 
                    
                       这里的设置覆写javaTypeResolver中的指定 
          --> 
       <columnOverride column="DATE_FIELD" property="startDate" /> 
            
          <!-- 
               column    需要忽略的数据库字段 
          -->   
          <ignoreColumn column="FRED" />   
          
     </table>
    
     <table tableName="teacher"/>
     <table tableName="course"/> 
     <table tableName="stu_course"/>
    </ibatorContext>
</ibatorConfiguration>

以上书写好xml后,请鼠标右键点击该xml文件生成Artifacts。

转自:http://blog.csdn.net/jiabeis/article/details/5554688

分享到:
评论

相关推荐

    ibatis自动生成工具ibator及配置文件示例

    标题 "ibatis自动生成工具ibator及配置文件示例" 提到的是关于iBatis的自动化工具ibator的使用和配置。iBatis是一个优秀的Java持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,使得数据库操作与业务逻辑...

    ibatis自动生成工具ibator,改进版

    开源ibator什么xml和pojo的时候,经常会带一些讨厌的注释还有一些没用的ibatorgenerator等的,我改了它的源代码,弄了个干净的ibator

    ibatis:使用ibator自动生成代码和配置文件

    "ibatis:使用ibator自动生成代码和配置文件"这个主题聚焦于一个实用的工具——ibator,它是MyBatis框架的一个扩展,用于自动化MyBatis的代码生成过程。这篇文章将深入探讨ibator的工作原理、如何安装和配置,以及它...

    为 Ibatis 2.3.4 构建增强的 Apache Ibator 实体类生成工具

    Ibator is a code generator for iBATIS. Ibator will introspect a database table (or many tables) and will generate iBATIS artifacts that can be used to access the table(s). This abates some of the ...

    ibatis2代码生成工具(生成实体Bean,Dao,SqlMap)

    6. **代码生成器(Code Generator)**:iBatis提供了代码生成工具ibator,它可以自动生成基于数据库表的Bean、Dao和SqlMap文件,极大地提高了开发效率。ibator可以根据配置文件自动读取数据库中的表结构,然后生成...

    ibatis生成xml,object

    为了解决这个问题,Ibatis 提供了一个插件工具——Ibator,它可以帮助我们自动生成XML映射文件和对应的Java对象。 安装Ibator插件的步骤如下: 1. 首先,你需要下载Ibator的jar文件,例如 ibator_3.0.6.full.jar。...

    Spring +ibatis(ibator)+Extjs 项目 架构 例子

    文件"ibator.jar"是iBatis的代码生成工具,用于根据数据库结构自动生成Java代码,减少了手动编写这些类的工作。"my_test.rar"可能是项目的一部分,包含了一些测试数据或者示例代码。"说明.txt"文件很可能是对整个...

    ibatis自动生成工具使用说明

    Abator是Ibatis官方提供的一个自动化工具,用于自动生成DAO(Data Access Object)、DTO(Data Transfer Object)和sqlMap文件,极大地提高了开发效率,同时有助于保持代码的规范性和一致性。Abator的官方网站为...

    ibator使用指导

    Ibator,全称是"iBatis Auto Generator",是一个强大的代码生成工具,用于简化基于MyBatis框架的数据库模型、映射文件和DAO接口的创建。在MyEclipse 7.5中安装Ibator插件可以极大提高开发效率,避免手动编写重复的...

    dao自动生成工具 基于ibator 只需要设置少量参数就能 创建dao层所有类

    ibator-huoniao通过它你可以通过配置少量参数,通过一键生成dao层的全部文件,能够应付对dao层的所有操作 产物包括: 1. pojo文件 2. dao接口类 3. dao接口实现类文件 4. ibatis sql map文件 5. 数据库查询时...

    IBATIS3代码生成器

    【描述】"ibatis"是早期的名称,后来演进为"Ibator",再到最后的"Abator",这都是同一款代码生成工具的不同版本。IBATIS3代码生成器是其在IBATIS3框架下的一个分支,它利用XML配置文件和XSLT样式表来转换数据库元...

    IBATOR动态生成sql和DAO层

    【IBATOR动态生成SQL和DAO层】是一种高效开发工具,基于Apache的iBatis框架,旨在简化数据库操作的代码编写工作。iBatis是Java语言中的一个持久层框架,它允许开发者将SQL语句直接嵌入到Java代码中,提供灵活的数据...

    iBATIS课件

    iBATIS课件 iBATIS简介 搭建环境 配置文件 读取配置 基本的CRUD操作 模糊查询 iBATIS代码生成工具iBATOR 优缺点 选择Hibernate还是iBATIS

    ibator使用心得

    `ibator`,全称Apache iBATIS Auto Generator,是一个基于Java的代码生成工具,源自iBATIS项目,用于帮助开发者快速生成与数据库交互的Java类和XML映射文件。相较于Hibernate,ibator允许开发者拥有更多的SQL控制权...

    ibator1.2.1

    而Ibator,作为Ibatis的一员,是其提供的一款自动化代码生成工具,极大地提升了开发效率,减轻了开发者的工作负担。本文将详细介绍Ibator 1.2.1这一版本的功能、使用方法以及在实际开发中的应用。 一、Ibator简介 ...

    ibator1.2.1配置文件

    Ibator是iBATIS(现在已经演变为MyBatis)的一个扩展,它能够根据数据库表结构自动生成Java源代码,包括DTO(Data Transfer Objects)、DAO(Data Access Object)类以及对应的XML映射文件,大大减少了手动编写这些...

    ibator的eclipse插件

    `ibator`(IntelliJ IDEA的iBATIS Generator的Eclipse版本)是一款强大的数据库代码自动生成工具,它能够帮助开发者快速地生成Java持久层代码,包括实体类、Mapper接口及XML配置文件等,大大提高了开发效率。...

    iBATOR-V1.1.0

    iBATOR,全称为"IBATIS Auto Table Access Toolkit Generator",是针对iBATIS数据库持久层框架的一个代码生成工具。它的主要功能是自动生成与数据库表相关的Java代码,包括实体类、Mapper接口和XML配置文件,极大地...

    ibator 1.2.1

    ibator作为代码生成工具,使得开发者可以专注于业务逻辑的实现,而不是重复的底层代码编写。 在提供的压缩包文件中,我们看到以下内容: - `ibator.jar`:这是ibator的核心库,包含所有用于代码生成的类和方法。 - ...

    ibatis Example使用

    ibator是ibatis提供的一种代码生成工具,它可以基于数据库表自动生成相应的Java实体类、Mapper接口以及XML配置文件等,极大地提高了开发效率。 ### 3. **Example模式介绍** Example模式是ibatis提供的一种查询方式...

Global site tag (gtag.js) - Google Analytics