ssh框架同时操作多个数据库

spring+struts2+hibernate3同时操作多个数据库,具体点就是同时从多个不同的数据库中查询数据显示在页面上。
这里设计到多个数据源。可不可以这样在applicationcontext.xml中配置多个sessionfactory和多个datasource?
在后台怎样获取所有数据库的所有session呢?
事物又怎么配置?
是不是还得应用多线程呢?
如果能给出例子,将不胜感激!

4个回答

多线程注意别把数据源搞串了。

你可以这样做:
[code="xml"]
一、首先配置hibernate数据源:

1.<?xml version="1.0" encoding="UTF-8"?>

2.<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">

3.

4. <!--1、Oracle 数据源配置-->

5.

6.

7. WEB-INF/classes/oracle-h.cfg.xml

8.

9.

10.

11.

12.

13.

14.

15.<!--2、SQLServer 数据源配置-->

16.

17.

18. WEB-INF/classes/sqlserver-h.cfg.xml

19.

20.

21.

22.

23.

24.

25.

26.<!--3、其他数据源配置-->

27..................

28. 2、配置spring的事务拦截器(AOP):
1.<!--1、oracle数据源 事务管理拦截器-->

2.

3. tx:attributes

4.

5.

6.

7. /tx:attributes

8. /tx:advice

9.<!--2、sqlserver数据源 事务管理拦截器-->

10.

11. tx:attributes

12.

13.

14.

15. /tx:attributes

16. /tx:advice

17.<!--3、其他数据源 事务管理拦截器-->

18..................

19.<!--配置多数据源的事务拦截器-->

20.

21.

22.

23. *Service

24.

25.

26.

27.

28. oracleTxAdvice

29. sqlServerTxAdvice

30. XXXXXTxAdvice

31.

32.

33.

[/code]

[quote]后台怎么同时获取? [/quote]
不同数据源都配成
oraclesessionFactory
sqlServersessionFactory这样的了,和普通bean没什么区别啊,getBean不就得到了么。

多数据源可以参考:[url]http://blog.springsource.com/2007/01/23/dynamic-datasource-routing/[/url]

不过事务,不这么简单。楼上的配置的事务都是对单个数据源的,多个数据源整体的事务,可就是分布式事务了。不知道,作者说的事务配置到底需要怎么样的。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问