iBATIS-Sql Maps入门教程.pdf
《iBATIS-Sql Maps入门教程.pdf》由会员分享,可在线阅读,更多相关《iBATIS-Sql Maps入门教程.pdf(10页珍藏版)》请在三一文库上搜索。
1、iBATIS SQL Maps 入门教程入门教程 Page 1 of 10 iBATIS SQL Maps 入门教程 Version 2.0 2004 年年 6 月月 17 日日 Clinton Begin 著著 刘刘 涛涛 译 译 http:/ Clinton Begin 著著 刘涛刘涛() 译译 iBATIS SQL Maps 入门教程入门教程 Page 2 of 10 简介简介 本文是初学者的快速入门教程,涵盖了 SQL Map 的一个简单而典型的应用。每个主题 更详细的信息可以参考iBatis SQL Maps 2.0 开发指南 。 本文是iBatis SQL Maps Tutoria
2、l的中文版,仅供读者参考。最权威的以 Clinton Begin 的官方文档为准,它可以从 http:/ 网站下载。如果中文翻译有错误,请通知 译者(email:,Blog:http:/ 。 准备使用准备使用 SQL Map SQL Map 架构能应用于设计不好的数据库模型甚至是设计不好的对象模型。尽管如此, 您在设计数据库模型和对象模型时,还是应该遵循最佳的设计原则。这样,您会获得更好的 性能和更简洁清晰的设计方案。 设计最容易开始的地方是分析应用的业务逻辑。 分析什么是应用的业务对象, 什么是数 据模型以及两者之间的关系。作为快速入门第一个例子,我们使用一个简单的 Java Bean Pe
3、rson 类。 Person.java package examples.domain; /imports implied. public class Person private int id; private String firstName; private String lastName; private Date birthDate; private double weightInKilograms; private double heightInMeters; public int getId () return id; public void setId (int id) htt
4、p:/ Clinton Begin 著著 刘涛刘涛() 译译 iBATIS SQL Maps 入门教程入门教程 Page 3 of 10 this.id = id; /lets assume we have the other getters and setters to save space Person 类有了, 如何将 Person 类映射成数据表呢?SQL Map 对 Java Bean 和数据表之间 的关系没有限制,如一个数据表映射成一个 Java Bean,或多个表映射成一个 Java Bean,或 多个 Java Bean 映射成一个数据表等。因为使用 SQL Map 您可以充分
5、发挥 SQL 语句的全部 潜力而很少限制。下面这个例子,我们使用一个简单的表,将一个表映射成一个 Java Bean, Java Bean 和表是一对一的关系。 Person.sql CREATE TABLE PERSON( PER_ID NUMBER (5, 0) NOT NULL, PER_FIRST_NAME VARCHAR (40) NOT NULL, PER_LAST_NAME VARCHAR (40) NOT NULL, PER_BIRTH_DATE DATETIME , PER_WEIGHT_KG NUMBER (4, 2) NOT NULL, PER_HEIGHT_M NUMB
6、ER (4, 2) NOT NULL, PRIMARY KEY (PER_ID) ) SQL Map 的配置文件的配置文件 现在准备好了学习环境,让我们从学习 SQL Map 的配置文件开始,配置文件是 SQL MAP 的配置信息统一设置的地方。 SQL Map 配置文件是 XML 文件,我们可以它设置各种属性,JDBC DataSource 和 SQL Map。在配置文件中,可以方便地统一配置 DataSource 不同的实现。SQL Map 框架包括 DataSource 的 iBATIS 实现: SimpleDataSource 类, Jakarta DBCP (Commons) , 和
7、可通过 JNDI 上下文查找的 DataSource(即应用服务器中的 DataSource) 。详细的使用方法在以后的章节 讨论。在本例中,我们使用 Jakarta DBCP。对于上面的例子,配置非常简单,如下所示: SqlMapConfigExample.xml http:/ Clinton Begin 著著 刘涛刘涛() 译译 iBATIS SQL Maps 入门教程入门教程 Page 4 of 10 SqlMapConfigExample.properties # This is just a simple properties file that simplifies automat
8、ed configuration http:/ Clinton Begin 著著 刘涛刘涛() 译译 iBATIS SQL Maps 入门教程入门教程 Page 5 of 10 # of the SQL Maps configuration file (e.g. by Ant builds or continuous # integration tools for different environments etc.) # These values can be used in any property value in the file above (e.g. “$driver”) # U
9、sing a properties file such as this is completely optional. driver=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:localhost:1521:oracle1 username=jsmith password=test SQL Map 的映射文件的映射文件 现在 DataSource 已经配置好了,并且有了统一的 SQL Map 配置文件,我们还需要 SQL Map 的映射文件。映射文件包括 SQL 语句和参数对象和结果对象的映射。 继续上面的例子,我们从一个简单的查询
10、语句开始,为 Person 类和 PERSON 表之间创 建一个 SQL Map 映射文件。 Person.xml SELECT PER_ID as id, PER_FIRST_NAME as firstName, PER_LAST_NAME as lastName, PER_BIRTH_DATE as birthDate, PER_WEIGHT_KG as weightInKilograms, PER_HEIGHT_M as heightInMeters FROM PERSON WHERE PER_ID = #value# 上面的例子是 SQL Map 最简单的形式。它使用了 SQL Map
11、 框架中一个特性,根据匹配 的名字将 ResultSet 的列映射成 Java Bean 的属性(或 Map 的 key 值) 。#value#符号是输入参 数,该符号表示使用了基本类型的包装类作为输入参数(即 Integer,但不仅限于此类型) 。 http:/ Clinton Begin 著著 刘涛刘涛() 译译 iBATIS SQL Maps 入门教程入门教程 Page 6 of 10 以上的方法虽然很简单,但有一些限制,无法指定输出字段的数据类型,无法自动地在 结果对象中载入相关的信息(即 Java Bean 无法使用复杂的属性) ;以上的方法对性能还有 轻微的不利影响,因为需要读取
12、ResultSetMetaData 的信息。使用 resultMap,可以克服以上 的不足,但现在只需要一个简单的例子,以后我们再转向其他不同的方法(无须修改 Java 代码) 。 大多数的应用不仅需要从数据库中读取数据,还需要修改数据。我们已有了一个 SELECT 查询语句的 mapped statement 简单例子,下面看看 INSERT,UPDATE 和 DELETE 的 mapped statement 什么样子。幸运的是,它们其实没什么区别。接下来,我们完成 Person SQL Map 其他部分,以实现修改数据的功能。 Person.xml SELECT PER_ID as id
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- iBATIS-Sql Maps入门教程 iBATIS Sql Maps 入门教程
链接地址:https://www.31doc.com/p-3768944.html