首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

Hibernate 与 Spring 多数据源的配备【转载】

2012-07-19 
Hibernate 与 Spring 多数据源的配置【转载】六、配置hibernate。 Hibernate的配置和普通的hibernate、spring结

Hibernate 与 Spring 多数据源的配置【转载】
六、配置hibernate。
Hibernate的配置和普通的hibernate、spring结合的配置一样

代码
    <bean?id="sessionFactory"?? ????????class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">?? ????????<!--?to?override,?use?the?"SpringDatasourceConfig"?snippet?in?your?project?-->?? ????????<property?name="dataSource">?? ????????????<ref?local="dataSource"?/>?? ????????</property>?? ????????<property?name="mappingResources">?? ????????????<list>?? ????????????????<value>?? ????????????????????cn/com/xinli/ccp/entity/User.hbm.xml ?? ????????????????</value>?? ????????????????<value>?? ????????????????????cn/com/xinli/ccp/entity/Test.hbm.xml ?? ????????????????</value>?? ????????????</list>?? ????????</property>?? ????????<property?name="hibernateProperties">?? ????????????<props>?? ????????????????<prop?key="hibernate.dialect">?? ????????????????????org.hibernate.dialect.DB2Dialect ?? ????????????????</prop>?? ???????????????? ?? ????????????????<prop?key="hibernate.show_sql">true</prop>?? ????????????????<prop?key="hibernate.use_outer_join">true</prop>?? ????????????????<prop?key="hibernate.jdbc.batch_size">50</prop>?? ????????????????<prop?key="hibernate.jdbc.fetch_size">5</prop>?? ????????????????<prop?key="hibernate.connection.pool_size">2</prop>?? ????????????????<prop?key="hibernate.connection.autocommit">false</prop>?? ????????????????<prop?key="hibernate.cache.use_query_cache">false</prop>?? ????????????????<prop?key="hibernate.max_fetch_depth">1</prop>?? ????????????????<prop?key="hibernate.bytecode.use_reflection_optimizer">true</prop>?? ????????????</props>?? ????????</property>?? ????</bean>?? ?? <bean?id="mydao"?class="cn.com.xinli.ccp.dao.HibernateBaseDao">?? ????????<property?name="sessionFactory">?? ????????????<ref?local="sessionFactory"?/>?? ????????</property>?? ????</bean>??


关于dao的代码这里就省略了。
七、配置结束,可以使用了。

代码
    public?class?DaoTest?extends?TestCase?{ ?? ?? ????public?void?testSave()?throws?Exception{ ?? ????????CustomerContextHolder.setCustomerType(DataSourceMap.Admin);//设置数据源 ?? ????????//hibernate创建实体 ?? ????????Test?test?=?new?Test(); ?? ????????test.setTest("22222222"); ?? ???????? ?? ????????mydao.save(test);//使用dao保存实体 ?? ???????? ?? ????????CustomerContextHolder.setCustomerType(DataSourceMap.Yxh);//设置为另一个数据源 ?? ???????? ?? ????????mydao.save(test);//使用dao保存实体到另一个库中 ?? ???????? ?? ????} ?? }??

在项目中对于编码人员对多数据源的切换可以做成透明的,操作同样的dao,就可以访问不同的数据库了。

热点排行