上次学习ibatis的时候,就知道了 ibatis 的核心接口是:com.ibatis.sqlmap.client .SqlMapClient
而Spring中的
接管了此核心接口。
而此类有一个方法:
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方法和注入属性了。