huqingwei311
甄伟
2011-08-29 14:42

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

已采纳

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • AngelAndAngel AngelAndAngel 10年前

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

    点赞 评论 复制链接分享
  • myali88 myali88 10年前

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

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

    点赞 评论 复制链接分享
  • AngelAndAngel AngelAndAngel 10年前

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

    点赞 评论 复制链接分享
  • AngelAndAngel AngelAndAngel 10年前

    你可以这样做:
    [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]

    点赞 评论 复制链接分享

相关推荐