spring中注入hibernate与ibatis结合使用
1:?? spring配置文件注入hibernate
?
<bean id="sessionFactoryFb"
??????? />
??? </property>
?
??? <property name="hibernateProperties">
????? <props>
??????? <prop key="hibernate.dialect">
??????? org.hibernate.dialect.OracleDialect</prop>
??????? <prop key="hibernate.show_sql">false</prop>
??????? <prop key="hibernate.format_sql">false</prop>
??????? <prop key="hibernate.use_sql_comments">false</prop>
??????
??????? <prop key="hibernate.max_fetch_depth">3</prop>
???????
??????? <prop key="hibernate.default_batch_fetch_size">8</prop>
???????
??????? <prop key="hibernate.order_updates">true</prop>
???????
??????? <prop key="hibernate.transaction.flush_before_completion">
??????? true</prop>
???????
??????? <prop key="hibernate.bytecode.use_reflection_optimizer">
??????? true</prop>
??????? <prop key="hibernate.jdbc.batch_size">50</prop>??????
????? </props>
??? </property>
?
??? <property name="mappingResources">
????? <list>
??????? <value>
??????? com/model/oracle/Fb.hbm.xml</value>
??????? </value>
????? ......
????? </list>
</bean>
?
?
2 : 建立? Basedao,作为其他DAO的父类 支持hibernate,ibatis,JdbcTemplate.
?
? public class BaseDao extends HibernateDaoSupport{
?protected Log log = LogFactory.getLog(getClass());
?protected SqlMapClientTemplate sqlMapClientTemplate = new SqlMapClientTemplate();
?
?protected DataSource dataSource;
?protected String dbDialect;
?
?public String getDbDialect() {
??return dbDialect;
?}
?
?public void setDbDialect(String dbDialect) {
??this.dbDialect = dbDialect;
?}
?
?public? void setDataSource(DataSource dataSource) {
??this.dataSource = dataSource;
??this.sqlMapClientTemplate.setDataSource(dataSource);
?}
?
?public final DataSource getDataSource() {
??return dataSource;
?}
?
?public final void setSqlMapClient(SqlMapClient sqlMapClient) {
??this.sqlMapClientTemplate.setSqlMapClient(sqlMapClient);
?}
?
?public final SqlMapClient getSqlMapClient() {
??return this.sqlMapClientTemplate.getSqlMapClient();
?}
?
?public final void setSqlMapClientTemplate(
???SqlMapClientTemplate sqlMapClientTemplate) {
??if (sqlMapClientTemplate == null) {
???throw new IllegalArgumentException(
?????"Cannot set sqlMapClientTemplate to null");
??}
??this.sqlMapClientTemplate = sqlMapClientTemplate;
?}
?
?public final SqlMapClientTemplate getSqlMapClientTemplate() {
??return sqlMapClientTemplate;
?}
}
?
3: spring中配置basedao??
?
?????? <bean id="baseDao"
??????? />
??? </property>
??? <property name="sqlMapClient">
????? <ref local="sqlMapClient" />
??? </property>
??? <property name="dataSource">
????? <ref bean="dataSource.FB" />
??? </property>
??? <property name="dbDialect">
????? <value>${sql.server.env}</value>
??? </property>???????
? </bean>
?
4: 在其他dao中继承basedao即可
?
? <bean id="exchangDao"
??????? />
?
?
?
?
?