ibatis的核心接口是:
com.ibatis.sqlmap.client.SqlMapClient
而Spring中的
SqlMapClientTemplate
接管了此核心接口。
而此类有一个方法:
setSqlMapClient(com.ibatis.sqlmap.client.SqlMapClient sqlMapClient)
因此,可以在IoC容器中配置此Clienrt:
<bean id="sqlMapClientTemplate"
class="org.springfreamework.orm.ibatis.SqlMapClientTemplate">
<property name="sqlMapClient" ref="sqlMapClient"></property>
</bean>
但是,这个包中,还有一个类: SqlMapClientFactoryBean
所以,一般我们使用 SqlMapClientFactory 这个类来获得 SqlMapClient
<bean id="sqlMapClient" class="org.springframework.org.ibatis.SqlMapClientFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="sql-map-config.xml" />
</bean>
然后这个 sql-map-config.xml 就是我们定义的配置文件咯。
然后,我们在程序中,就可以使用sqlMapClientTemplate注入到各个Dao了。
但是,这种做法总是要多谢很多 setSqlMapClientTemplate方法,如果类很多的话。
那么,有一种方法,就是写一个父类,然后,让所有的Dao继承这个父类,就解决了这一点。
又但是,如果Dao由于需要继承别的类,那么就只能继承一个类了,那就没有办法了,只能老老实实写set方法和注入属性了。