Ibatis 简明教程
iBATOR - Introduction
iBATOR 是一个 iBATIS 的代码生成器。iBATOR 会对一张或多张数据库表进行内省,并且生成可用于访问这些表的 iBATIS 工件。
之后你可以编写自己的自定义 SQL 代码或存储过程来满足你的需求。iBATOR 生成了以下工件 −
-
SqlMap XML Files
-
类表的主键和字段相匹配的 Java 类
-
使用上述对象的 DAO 类(可选)
iBATOR 可以作为一个独立的 JAR 文件,或作为一个 Ant 任务,或作为一个 Eclipse 插件来运行。本教程描述了从命令行生成 iBATIS 配置文件的最简单方式。
Download iBATOR
如果你使用的是除了 Eclipse 之外的 IDE,下载独立 JAR。独立 JAR 包含了一个运行 iBATOR 的 Ant 任务,或者你也可以从 Java 代码的命令行中运行 iBATOR。
-
你可以从 Download iBATOR 下载 zip 文件。
-
你可以查看在线文档 − iBATOR Documentation 。
Generating Configuration File
要运行 iBATOR,请执行以下步骤:
Step 1
适当创建并填写配置文件 ibatorConfig.xml。至少必须指定以下内容:
-
一个 <jdbcConnection> 元素,用于指定如何连接到目标数据库。
-
一个 <javaModelGenerator> 元素,用于指定目标包和生成 Java 模型对象的的目标项目。
-
一个 <sqlMapGenerator> 元素,用于指定目标包和生成 SQL 映射文件的的目标项目。
-
一个 <daoGenerator> 元素,用于指定目标包和生成 DAO 接口和类的目标项目(如果不想生成 DAO,可以省略 <daoGenerator> 元素)。
-
至少一个数据库 <table> 元素
NOTE − 有关 iBATOR 配置文件的示例,请参阅 XML Configuration File Reference 页面。
Tasks After Running iBATOR
运行 iBATOR 后,需要创建或修改其他 iBATIS 配置工件。主要任务如下:
-
创建或修改 SqlMapConfig.xml 文件。
-
创建或修改 dao.xml 文件(仅当您使用 iBATIS DAO 框架时)。
下面详细描述每个任务:
Updating the SqlMapConfig.xml File
iBATIS 使用名为 SqlMapConfig.xml 的 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> 元素以任意顺序列出这些文件。
Updating the dao.xml File
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 时,才需要此步骤。