IBatis框架对于SQL Map的客户端提供了两种不同的调用。一种是纯粹利用SQL Map API来进行,而另一种则是使用封装了基本实现的IBatis DAO框架。在这里将主要介绍SQL Map API,而在随后的IBatis与Struts协同工作这一节中将会使用IBatis DAO框架。
SQL Map API主要提供了如下这些功能:
q 配置一个SQL Map。
q 执行SQL 语句完成添加、更新、删除的操作。
q 执行查询语句以取得一个对象。
q 执行查询语句以取得一个对象的集合。
和Hibernate框架的客户端调用类似,对数据库的操作都是对对象的操作。同样,IBatis框架提供了一个SqlMapClient用来存储指定的经过解析的映射文件。SqlMapClient类文件被放在com.ibatis.sqlmap.client下,是一个接口。
SqlMapClient变量实例的产生是通过com.ibatis.sqlmap.client.SqlMapClientBuilder类来完成的,SqlMapClientBuilder类提供了静态方法buildSqlMapClient来读取配置文件,并返回SqlMapClient接口类型,而此时的SqlMapClient变量实例已经获得了数据库连接的基本配置信息。
SqlMapClientBuilder类的静态方法buildSqlMapClient需要一个Reader类型的参数,这个Reader类型的参数可以由IBatis框架提供的工具类com.ibatis.common.resources.Resources来生成。Resources类专门用来读取classpath下的配置文件,通过Resources类可以让SqlMapClientBuilder类读取到配置文件的所有信息。