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 模型对象的 target 包和 target 项目。

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

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

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

注意:请参阅 XML 配置文件参考 页面,了解 iBATOR 配置文件的示例。

步骤 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 框架时)。

下面详细描述每个任务:

更新 SqlMapConfig.xml 文件

iBATIS 使用一个 XML 文件(通常名为 SqlMapConfig.xml)来指定数据库连接信息、事务管理方案以及在 iBATIS 会话中使用的 SQL map 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 时,才需要执行此步骤。

广告
© . All rights reserved.