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