当前位置: 首页 > 文档资料 > iBATIS 中文教程 >

iBATOR - 介绍

优质
小牛编辑
128浏览
2023-12-01

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,请按照以下步骤操作 -

Step 1

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

  • 《jdbcConnection》元素,用于指定如何连接到目标数据库。

  • 《javaModelGenerator》元素,用于为生成的Java模型对象指定目标包和目标项目。

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

  • 《daoGenerator》元素,用于为生成的DAO接口和类指定目标包和目标项目(如果不希望生成DAO,则可以省略“daoGenerator”元素)。

  • 至少有一个数据库《table》元素

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

Step 2

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

Step 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映射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文件(非常常见),那么可以在元素之后使用重复的元素以任何顺序列出文件。

更新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>

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