iBATIS快速创建应用浅析

开发 后端
iBATIS快速创建应用将向你讲述一个快速创建应用的实现,那么对于本文的学习将会了解到这方面的信息。

iBATIS框架实际上非常简单,要开始使用它也同样非常简单。那么究竟有多简单呢?事实上,它是如此简单,以至于你可以用iBATIS在5分钟之内创建一个完整的应用——不是一个大型的企业资源规划(Enterprise Resource Planning,ERP)方案或者一个大型电子商务网站,而是一个简单的命令行工具,用于执行一个SQL映射文件中的一条SQL语句并且向控制台输出执行结果。下面将要给出的例子将配置一条简单的静态SQL语句,用于查询一个简单的数据库表格,并且把它以如下形式输出到控制台:

控制台 

这种数据输出方式并不是最漂亮的,但是由此你可以了解该应用到底要做些什么。在下面几节中,我们将逐步从无到有地实现此功能。

iBATIS快速创建应用1:安装数据库

为了满足示例应用的目的,我们将使用MySQL数据库。iBATIS框架可以使用任何数据库,只要该数据库具有符合规范的JDBC驱动。你只需要在配置文件中提供驱动的全限定类名以及一个JDBC URL即可。

安装数据库服务器超出了本书所讨论的范围,因此我们假设数据库服务器已经安装好并且可用了,然后告诉你在此基础之上需要做些什么。以下的MySQL脚本用于构造了我们将要使用的表格,并且在其中添加了一些示例数据:

数据 

如果你已经安装了一个不同的数据库服务器,其中包含一些其他数据,并且你想要在这些数据上执行某些SQL查询,你可以大胆地在本例子中使用它。你只需要修改SqlMap.xml文件中的查询语句,以包含你的SQL,同时还需要修改SqlMapConfig.xml文件以配置iBATIS使用你的数据库。为使整个例子成功运行,你还需要知道驱动的名称、JDBC URL、以及连接时的用户名和密码。

iBATIS快速创建应用2编写代码

由于本例是我们给出的***个完整的例子,同时也只是对使用iBATIS的一个介绍,因此它的代码将会比真正的应用要简单得多。类型安全和异常处理我们以后将会详细讨论,因而在此处对于这些话题我们将不予考虑。代码清单2-4给出了完整的代码:

代码清单2-4  Main.java

代码 

就是这些了!我们在大约10行Java代码中就完成了对iBATIS的配置,执行了SQL语句,并且打印了结果。以上就是一个功能完整的iBATIS应用所需要的全部Java代码。稍后,我们将对其进行改进,但是现在我们将继续讨论有关iBATIS配置的基础知识。

iBATIS快速创建应用3配置iBATIS(预览)

考虑到我们将在下一章中深入介绍如何配置iBATIS,所以此处我们将只是简单介绍一下。此处你不会找到有关配置选项的过多解释,但是我们将给出最重要的信息。

首先,让我们来研究SqlMapConfig.xml文件。它是使用iBATIS的起点,负责把所有的SQL映射文件组合在一起。代码清单2-5给出了我们的简单应用中使用的SqlMapConfig.xml文件。

代码清单2-5  最简单的iBATIS应用中的SQL映射配置

iBATIS应用中的SQL映射配置 

你可能已经猜到,我们正是在此配置文件中告诉iBATIS如何连接数据库,以及获取哪些SQL映射文件。由于这是一个XML文件,我们需要提供doctype和DTD用于验证(1)。SIMPLE是一个iBATIS内置事务处理器的别名(2)。我们需要为这个事务处理器提供JDBC驱动的名称、JDBC URL、以及允许你连接到数据库的用户名(username)和密码(password)。然后你将提供你的SQL映射文件(3)。此例中,我们只有一个SQL映射文件,但是你可以想要多少就提供多少个。该文件中你还可以做一些其他设置,我们将在下一章中详细介绍。

现在你已经看到了主配置文件,下面我们来看一下SqlMap.xml文件(代码清单2-6)。这个文件包含了我们将要运行的SQL语句。

代码清单2-6  最简单的SQL映射

最简单的SQL映射 

代码清单2-6的XML中,我们接受了一个String类型的参数(parameterClass)作为GROUPNAME列的值,并且把结果类(resultClass)映射到了一个HashMap上。

警告:

我们并不推荐使用Map(例如,HashMap、TreeMap)作为域模型,但是这样做确实显示了iBATIS所提供的映射的灵活性。你并不总是需要映射到JavaBean——你可以直接映射到Map或者基本类型。

无论你是否相信,你现在已经看到了使用iBATIS所需要的所有代码和配置。我们故意将它分散开以便于印刷,但是即使如此,这些代码总共也只有大约50行,包括Java和XML。而且更重要的一点是,这50行代码中有45行都是有关配置的,这些配置在一个应用中只需要编写一次即可,而不需要针对每个语句都写一次。正如你在本章之前的例子中所见到的那样,使用JDBC最终需要对每条SQL语句都编写50行或者更多的代码。

iBATIS快速创建应用4 构造应用

通常当构建一个大型应用时,你都会使用一些类似于Ant的工具来简化构建过程。由于本例中我们只有一个类,因此就不需要麻烦地为它创建一个Ant脚本了。为了编译此应用,你只需要在classpath上添加两个JAR文件:ibatis-common-2.jar和ibatis-sqlmap-2.jar,因此我们只要用命令行把它们输入给Java编译器即可:

  1. javac -classpath <your-path>ibatis-common-2.jar;  
  2.  
  3. <your-path>ibatis-sqlmap-2.jar Main.java 

当然了,以上的代码应该在同一行中输入,并且你应该用JAR文件的实际路径来代替<your-path>。如果一切都顺利的话,编译器应该不会产生任何输出到屏幕上,而只是在当前目录上创建一个Main.class文件。

iBATIS快速创建应用5 运行应用

在执行此应用时,我们还需要另外一些JAR文件,但也不是那么多。为了运行我们的应用,我们只需要在classpath上添加以下JAR文件即可:ibatis-common-2.jar、ibatis-sqlmap-2.jar、commons-logging.jar以及JDBC驱动(在此例中,这个驱动器就是mysql-connector-java.jar),因而下面应该输入以下这个命令:

  1. java -classpath <your-path>;mysql-connector.jar;commons-logging.jar;   
  2.  
  3. ibatis-common-2.jar;ibatis-sqlmap-2.jar;.Main 

同样地,在编辑时以上代码必须在同一行中,同时应该用系统中的实际路径来代替<your-path>。

这个程序运行之后会告诉你选择出了多少条记录,然后将它们以一种以较粗糙的格式输出,类似如下:

格式输出 

iBATIS框架被设计得非常灵活。它可以是一个非常轻量简单的框架,只执行SQL并且返回数据,当然也可以被用来做其他更多的工作。

这种灵活性的关键之一在于对框架的正确配置。在下一章中,我们将讨论两种主要的配置文件类型,然后研究通过使用配置来处理复杂情况的一些模式。

注意:

配置文件都是标准的XML文档。这意味着如果你有一个时髦的XML编辑器,就可以用DTD(Document Type Definition)来验证你的文档是否存在语法错误,有时候甚至可以在编辑过程中提供代码提示和自动完成功能。

现在你已经看到了最简单形式的iBATIS。在我们继续讨论其他内容之前,先来讨论一下iBATIS的未来发展方向,这样你在使用它时就可以更加的有信心。

iBATIS快速创建应用就向你介绍到这里,希望对你有帮助。

【编辑推荐】

  1. 什么是iBATIS
  2. iBATIS工作原理浅析
  3. iBATIS七大特性详谈
  4. iBATIS不适合使用的四种情况浅析
  5. iBATIS发展方向的四方面浅析
责任编辑:仲衡 来源: CSDN博客
相关推荐

2009-07-17 10:32:45

iBATIS MapB

2009-07-21 14:24:46

iBATIS教程

2009-07-17 10:59:59

iBATIS接口

2009-07-21 11:12:00

iBATIS配置

2009-07-22 11:11:39

iBATIS分页实例ObjectDataS

2009-07-15 17:19:31

iBATIS Ecli

2009-07-22 10:03:11

iBATIS Resu

2009-07-20 18:00:16

iBATIS DAO事

2009-07-16 09:14:26

iBATIS DAO

2009-07-22 10:42:59

iBATIS Cach

2009-07-15 17:58:07

iBATIS 动态映射

2009-07-16 10:23:30

iBATIS工作原理

2009-07-17 10:20:24

iBATIS实例

2009-07-22 09:44:05

iBATIS Para

2009-07-17 17:05:44

iBATIS缓存cacheModel

2009-07-15 16:42:03

iBATIS读写CLO

2009-07-22 15:21:00

iBATIS SQLM

2009-07-22 16:02:14

iBATIS参数

2009-07-22 15:01:01

iBATIS SQLM

2009-07-17 09:44:40

iBATIS教程
点赞
收藏

51CTO技术栈公众号