iBATOR - 简介

iBATOR 是 iBATIS 的代码生成器。iBATOR 会检查一个或多个数据库表,并生成可用于访问这些表的 iBATIS 工件。

稍后,您可以编写自定义 SQL 代码或存储过程来满足您的要求。iBATOR 会生成以下工件 −

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

iBATOR 可以作为独立 JAR 文件、Ant 任务或 Eclipse 插件运行。本教程介绍了从命令行生成 iBATIS 配置文件的最简单方法。

下载 iBATOR

如果您使用的是 Eclipse 以外的 IDE,请下载独立 JAR。独立 JAR 包含一个用于运行 iBATOR 的 Ant 任务,或者您可以从 Java 代码的命令行运行 iBATOR。

生成配置文件

要运行 iBATOR,请按照以下步骤 −

步骤 1

创建并适当填写配置文件 ibatorConfig.xml。至少,您必须指定 −

  • 一个 <jdbcConnection> 元素,用于指定如何连接到目标数据库。

  • 一个 <javaModelGenerator> 元素,用于指定生成的 Java 模型对象的目标包和目标项目。

  • 一个 <sqlMapGenerator> 元素,用于指定生成的 SQL 映射文件的目标包和目标项目。

  • 一个 <daoGenerator> 元素,用于指定生成的 DAO 接口和类的目标包和目标项目(如果您不想生成 DAO,可以省略 <daoGenerator> 元素)。

  • 至少一个数据库<table> 元素

注意 − 有关 iBATOR 配置文件示例,请参阅 XML 配置文件参考 页面。

步骤 2

将文件保存到方便的位置,例如:emp\ibatorConfig.xml。

步骤 3

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

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

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

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

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

运行 iBATOR 后的任务

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

  • 创建或修改 SqlMapConfig.xml 文件。
  • 创建或修改 dao.xml 文件(仅当您使用 iBATIS DAO 框架时)。

下面详细描述了每个任务 −

更新 SqlMapConfig.xml 文件

iBATIS 使用 XML 文件(通常名为 SqlMapConfig.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 文件应该包含这些条目 −

<?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 时才需要此步骤。