iBATOR介绍,什么是iBATOR


iBATOR介绍,什么是iBATOR?

iBATOR是一个代码生成器,用于iBATIS。 iBATOR内部检查的一个或多个数据库表和将生成iBATIS的工件,可用于访问表。

稍后,您可以编写自定义的SQL代码或存储过程来满足您的要求。 iBATOR产生以下项目:

  • SqlMap XML文件
  • Java类相匹配的表的主键和字段
  • 使用上述对象DAO类(可选)

iBATOR可以运行作为一个独立的JAR文件,或作为一个Ant任务,或者作为一个Eclipse插件。本教程将教你生成iBATIS的配置文件格式命令行的简单的方法。

下载iBATOR:

如果您使用的IDE是Eclipse,比其他下载独立的JAR。独立的JAR包括一个Ant任务来运行iBATOR,或者您也可以从Java代码中的命令行运行iBATOR。

  • 您可以从Download iBATOR下载zip文件。
  • 您可以检查在线文档 - iBATOR文档。

生成配置文件

要运行iBATOR,请按照以下步骤操作 -

步骤1

适当地创建并填充配置文件ibatorConfig.xml。至少,你必须指定 -

  • 一个<jdbcConnection>元素来指​​定如何连接到目标数据库。
  • 一个<javaModelGenerator>元素,用于为生成的Java模型对象指定目标程序包和目标项目。
  • 一个<sqlMapGenerator>元素,用于为生成的SQL映射文件指定目标程序包和目标项目。
  • 一个<daoGenerator>元素指定为生成DAO接口和类目标包和目标项目(您可能省略<daoGenerator>元素,如果你不希望产生的DAO)。
  • 至少有一个数据库<table>元素

-有关iBATOR配置文件的示例,请参阅XML配置文件参考页。

第2步

将文件保存在方便的位置,例如:\temp\ ibatorConfig.xml

第3步

现在从命令行运行iBATOR,如下所示 -

java -jar abator.jar -configfile \temp\abatorConfig.xml -overwrite

它会告诉iBATOR使用你的配置文件运行。它还会告诉iBATOR覆盖任何具有相同名称的现有Java文件。如果要保存任何现有的Java文件,请省略-overwrite参数。

如果发生冲突,iBATOR将使用唯一的名称保存新生成的文件。

运行iBATOR后,您需要创建或修改标准iBATIS配置文件以利用您新生成的代码。这在下一节中解释。

运行iBATOR后的任务

在运行iBATOR之后,您需要创建或修改其他iBATIS配置工件。主要任务如下 -

创建或修改SqlMapConfig.xml文件。 创建或修改dao.xml文件(仅当您使用iBATIS DAO Framework时)。 下面详细介绍每项任务 -

更新SqlMapConfig.xml文件:

iBATIS使用通常名为SqlMapConfig.xml的XML文件来指定在iBATIS会话中使用的数据库连接,事务管理方案和SQL映射XML文件的信息。

iBATOR无法为您创建此文件,因为它对您的执行环境一无所知。但是,此文件中的一些项目直接与iBATOR生成的项目相关。

配置文件中的iBATOR特定需求如下:

  • 语句名称空间必须启用。
  • 必须列出iBATOR生成的SQL Map XML文件。

例如,假设iBATOR生成了名为MyTable_SqlMap.xml的SQL Map XML文件,并且该文件已放置在项目的test.xml包中。SqlMapConfig.xml文件应该包含这些条目:

<?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE sqlMapConfig
    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

  <sqlMapConfig>
    <!-- Statement namespaces are required for Abator -->
    <settings useStatementNamespaces="true" />

    <!-- Setup the transaction manager and data source that are
         appropriate for your environment
    -->
    <transactionManager type="...">
      <dataSource type="...">
      </dataSource>
    </transactionManager>

    <!-- SQL Map XML files should be listed here -->
    <sqlMap resource="test/xml/MyTable_SqlMap.xml" />

  </sqlMapConfig>

如果存在多个SQL Map XML文件(这很常见),那么可以按照任何顺序使用<transactionManager>元素之后的重复<sqlMap>元素列出这些文件。

更新dao.xml文件:

iBATIS DAO框架由通常称为dao.xml的xml文件配置。

iBATIS DAO框架使用该文件来控制DAO的数据库连接信息,并列出DAO实现类和DAO接口。在这个文件中,你应该指定你的SqlMapConfig.xml文件的路径,以及所有iBATOR生成的DAO接口和实现类。

例如,假设iBATOR生成了名为MyTableDAO的DAO接口和一个名为MyTableDAOImpl的实现类,并且这些文件已放置在项目的test.dao包中。dao.xml文件应该包含这些条目

dao.xml文件应该有这些项:

<?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE daoConfig
   PUBLIC "-//ibatis.apache.org//DTD DAO Configuration 2.0//EN"
   "http://ibatis.apache.org/dtd/dao-2.dtd">

  <daoConfig>
    <context>
      <transactionManager type="SQLMAP">
        <property name="SqlMapConfigResource"
                  value="test/SqlMapConfig.xml"/>
      </transactionManager>

      <!-- DAO interfaces and implementations
              should be listed here -->
      <dao interface="test.dao.MyTableDAO"
           implementation="test.dao.MyTableDAOImpl" />

    </context>
  </daoConfig>

注 - 仅当您为iBATIS DAO框架生成DAO时才需要执行此步骤。