- iBATIS 教程
- iBATIS - 首页
- iBATIS - 概述
- iBATIS - 环境配置
- iBATIS - 创建操作
- iBATIS - 读取操作
- iBATIS - 更新操作
- iBATIS - 删除操作
- iBATIS - 结果映射
- iBATIS - 存储过程
- iBATIS - 动态SQL
- iBATIS - 调试
- iBATIS - Hibernate比较
- iBATOR- 简介
- iBATIS 有用资源
- iBATIS - 快速指南
- iBATIS - 有用资源
- iBATIS - 讨论
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。
您可以查看在线文档: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 时,才需要执行此步骤。