在Spring使用iBatis及配置讲解
作者:李灿辉 时间:2021-07-06 20:07:39
就像集成JDBC和其他ORM框架一样,Spring也集成了iBatis。
1,配置iBatis客户模板
iBatis的核心是com.ibatis.sqlmap.SqlMapClient
接口。SqlMapClient大致相当于Hibernate的Session或JPA的EntityManager,用于执行全部的数据访问操作。
Spring解决iBatis会话管理和异常处理问题的方案是SQLMapClientTemplate。SQLMapClientTemplate包裹了一个SqlMapClient来透明的打开和关闭会话,还捕获抛出的SQLException。
要想在程序里使用SqlMapClientTemplate
,需要在xml
中配置一个bean
。还需要给SqlMapClientTemplate的sqlMapClient属性指定要注入的bean。sqlMapClient属性必须为一个iBatis的SqlMapClient。在Spring里,获得SqlMapClient的最佳方式是通过SqlMapClientFactoryBean。
在配置SqlMapClientFactoryBean
时,需要配置它的dataSource属性,用于指定访问哪个数据库。另一个重要的属性是configLocation,它的值是一个xml文件。
接下来,我们需要定义iBatis的SQL映射表,也就是编写configLocation指定的xml文件的内容。
在这个xml文件中,它的根节点是sqlMapConfig
,里面可以包含多个sqlMap节点,每个sqlMap节点的resource属性,也是一个xml文件,在resource指定的xml文件中,我们一般会定义如何将数据库中的一个表映射为一个java对象,并在该文件中定义一些常用的SQL语句。
接下来,简单介绍下如何在DAO里使用SqlMapClientTemplate。在使用SqlMapClientTemplate执行数据访问之前,必须要把它装配到DAO里。这一点比较简单,只需要在定义DAO时,为其指定sqlMapClientTemplate引用即可。
2,建立基于iBatis的DAO
SqlMapClientDaoSupport类是这对iBatis的DAO支持类,它是作为一个父类让DAO实现来继承的。SqlMapClientDaoSupport暴露了一个SqlMapClientTemplate对象,用于执行iBatis查询。
来源:https://blog.csdn.net/li_canhui/article/details/85396299