`
liufangmeng
  • 浏览: 10711 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

springmvc3注解+mybatis+JTA+jboss7.1下多个数据源配置(二)

 
阅读更多


上一章中,简单的说了配置jboss7的xa数据源

这一章主要是说springmvc注解mybatis 和jta事务


首先,web容器jboss已经有了我们需要的数据源

那么,我们在spring配置里就可以直接使用jndi获取数据源了

先贴配置后讲解吧



 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:aop="http://www.springframework.org/schema/aop"
     xmlns:jee="http://www.springframework.org/schema/jee"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
        ">

	<!-- ***************资源文件 ************** -->
	<!--<context:property-placeholder location="classpath*:dataSourceConfig.properties"/>  -->
	<!-- ************** DataSource:  连接池 ****************-->
	<jee:jndi-lookup jndi-name="java:/oracle119" id="oracledataSource"
		lookup-on-startup="true">
	</jee:jndi-lookup>
	
	<jee:jndi-lookup jndi-name="java:jboss/mysql127" id="mssqldataSource"
		lookup-on-startup="true">
	</jee:jndi-lookup>
	
	<!-- ***************事务配置************** -->
	<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager" />
	
	<aop:config>  
             <aop:advisor pointcut="execution(* service..*.*(..))"  advice-ref="txAdvice" />  
    </aop:config>  
  
    <tx:advice id="txAdvice" transaction-manager="transactionManager">  
        <tx:attributes>  
            <tx:method name="get*" read-only="true" />  
            <tx:method name="query*" read-only="true" />  
            <tx:method name="find*" read-only="true" />  
            <tx:method name="load*" read-only="true" />
            <tx:method name="select*" read-only="true" />  
            <tx:method name="*" propagation="REQUIRED" rollback-for="Exception" />  
        </tx:attributes>  
    </tx:advice>  
	
	<tx:annotation-driven transaction-manager="transactionManager" />
	
	<!-- MyBatis 把mysql和oracle的mybatis映射xml 分开来放   -->
	<bean id="oraclesqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="oracledataSource" />
	    <property name="mapperLocations"  value="classpath*:dao/oracleDb/**/*.xml"/> 
	</bean>
		<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">    
	    <property name="basePackage" value="dao.oracleDb" />
	    <property name="sqlSessionFactoryBeanName" value="oraclesqlSessionFactory" />
	</bean>
    	<bean id="mssqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="mssqldataSource" />
	    <property name="mapperLocations"  value="classpath*:dao/mssqlDb/**/*.xml"/> 
	</bean>
		<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">    
	    <property name="basePackage" value="dao.mssqlDb" />
	    <property name="sqlSessionFactoryBeanName" value="mssqlSessionFactory" />
	</bean>
    
    
</beans>

 

 

 这个配置文件 是springmvc3里面只是核心的配置供大家参考。 其余还有jsp路径,还有controller  service层的注解,还有拦截器 在另外一个配置里面 ,分开写好调试

 

首先 前面使用了jee:jndi-lookup 这种方式获取了数据源, 要在xml最上面的声明那里 加入xmlns:jee="http://www.springframework.org/schema/jee 和下面xsi:schemaLocation里的 jee

才能正常使用

 

其次 bean  id="transactionManager "  这个需要使用 

org.springframework.transaction.jta.JtaTransactionManager

这里并不需要指定数据源datasource属性 

详细请见:http://docs.spring.io/spring/docs/3.0.x/reference/transaction.html

 

Note
[Note]

If you use JTA , then your transaction manager definition will look the same regardless of what data access technology you use, be it JDBC, Hibernate JPA or any other supported technology. This is due to the fact that JTA transactions are global transactions, which can enlist any transactional resource.

 

 最后 核心的mybatis和springmvc结合的地方,<bean id="oraclesqlSessionFactory"到最后

是我以前采用咿呀网 狼哥提供的单数据源配置修改而来,这种方式 好处就是 把不同的数据库里需要映射的mybatis配置,分开放,启动应用的时候 可以直接扫描,实现自动加载,(看过几片文章,发现这种方式不是最好的,但是 英文才 也只能勉强到这里了。)

分享到:
评论

相关推荐

    springmvc3注解+mybatis+JTA+jboss7.1下多个数据源配置(一)

    在本教程中,我们将深入探讨如何在Spring MVC 3中结合MyBatis并利用JTA(Java Transaction API)以及JBoss 7.1应用程序服务器来配置多数据源环境。这个配置对于那些需要处理多个数据库或者分布式事务的项目来说至关...

    ssm整合中jar包作用介绍.docx

    在SSM(Spring+SpringMVC+MyBatis)框架整合过程中,Hibernate作为持久层技术之一,其核心及辅助JAR包的选择和配置至关重要。以下是针对文档中提到的各个JAR包的详细介绍: 1. **hibernate3.jar** - 这是Hibernate...

    MATLAB Simulink中两相交错并联双向DC-DC变换器的双闭环控制仿真及性能分析 · 仿真分析

    内容概要:本文详细探讨了两相交错并联双向DC-DC变换器在MATLAB/Simulink环境下的电压电流双闭环控制仿真模型。文中介绍了基于4mos结构的变换器模型,并对其三种控制方式——单电压环开环控制、单电流环闭环控制和电压电流双闭环控制进行了详细的仿真和性能对比。研究表明,双闭环控制在电感电流均流、输出波形平滑度和电压纹波抑制等方面表现最优,显著提高了系统的稳定性和效率。 适合人群:从事电力电子领域的研究人员和技术人员,尤其是对DC-DC变换器及其控制策略感兴趣的读者。 使用场景及目标:适用于需要深入了解DC-DC变换器控制策略的研究人员和技术人员,帮助他们选择最合适的控制方式以提升系统性能。 其他说明:本文提供了丰富的仿真数据和图表,有助于读者直观地理解不同控制方式的效果。此外,附有参考文献,方便读者进一步查阅相关资料。

    实训商业源码-站长导航类pbootcms网站模板-毕业设计.zip

    实训商业源码-站长导航类pbootcms网站模板-毕业设计.zip

    TypeError Base contract function not marked as virtual(解决方案).md

    TypeError Base contract function not marked as virtual(解决方案).md

    360°混凝土满包基础大样图(排水管道)_dwg.dwg

    360°混凝土满包基础大样图(排水管道)_dwg

    2025年大宗商品市场展望报告

    内容概要:2025年大宗商品市场展望报告由世界银行发布,分析了能源、农业、金属和矿物、贵金属以及化肥等多个主要商品类别的市场发展与前景。报告指出,由于全球经济增长放缓和贸易紧张加剧,2025年大宗商品价格预计总体下降12%,2026年进一步下降5%,达到六年来的最低点。油价预计2025年平均为每桶64美元,2026年降至60美元,主要受全球石油消费放缓和供应增加的影响。农业商品价格预计2025年基本稳定,2026年下降3%,其中粮食和原材料价格分别下降7%和2%,但饮料价格上涨20%。金属价格预计2025年下降10%,2026年再降3%,特别是铜和铝价格将显著下跌。贵金属如黄金和白银因避险需求强劲,预计价格将继续上涨。报告还特别关注了疫情后大宗商品周期的变化,指出周期变得更短、更剧烈,主要受到宏观经济冲击、极端天气事件和地缘政治冲突的影响。 适用人群:对全球经济趋势、大宗商品市场动态及其对不同经济体影响感兴趣的政策制定者、投资者、分析师及研究机构。 使用场景及目标:①帮助政策制定者评估全球经济增长放缓对大宗商品市场的影响,从而调整经济政策;②为投资者提供有关未来大宗商品价格走势的风险提示,以便进行投资决策;③协助分析师和研究机构深入理解疫情后大宗商品市场的周期特征,识别潜在的投资机会和风险。 其他说明:报告强调,全球经济增长放缓、贸易紧张加剧以及地缘政治不确定性是影响大宗商品价格的主要因素。此外,极端天气事件和能源转型也对农业和能源商品市场产生了深远影响。报告呼吁各方关注这些结构性变化,并采取相应的风险管理措施。

    15KW三相交流异步电机驱动方案:低速新能源车高效驱动系统设计与实现

    内容概要:本文详细介绍了15KW三相交流异步电机驱动方案的设计与实现,特别针对低速新能源车的应用。系统采用144V电压平台,输出持续电流125A,短时限流300A,支持降压至72V。该方案实现了电机的正反转精确控制,采用FOC控制技术,确保低速大扭矩启动和宽范围的高效率运行。硬件方面,系统基于TI C2000系列主控MCU,具备强弱电隔离和汽车级光耦隔离MOS驱动,支持旋转变压器或正交编码器作为位置传感器。软件部分则采用了先进的FOC控制算法,支持多种控制模式如斜坡防溜车、制动能量回收等,并具备完善的保护机制。此外,提供了详细的硬件原理图、软件源码、上位机软件和BOM清单,便于系统的搭建和调试。 适合人群:从事新能源车驱动系统设计的技术人员、电子工程师、嵌入式开发人员。 使用场景及目标:① 设计和实现低速新能源车的高效驱动系统;② 掌握FOC控制技术和多种控制模式的应用;③ 学习并应用硬件设计和软件开发的最佳实践。 其他说明:该方案不仅提供了完整的硬件和软件设计方案,还包括详细的BOM清单,有助于快速原型开发和批量生产。

    基于卡尔曼滤波的四轮轮速车速估计算法及其在自动驾驶中的应用

    内容概要:本文介绍了基于卡尔曼滤波的车速估计方法,重点在于通过四轮轮速来估计车速,并利用实车测试数据进行验证。文中详细阐述了算法的基础理论,包括四轮轮速估计车速的方法以及卡尔曼滤波器的工作原理。此外,还展示了具体的算法实现步骤,如从CAN线读取轮速数据、初始化卡尔曼滤波器、处理轮速数据并输出车速估计值。最后,通过实车测试验证了该算法的有效性和准确性,证明其能显著提升自动驾驶运动控制或底盘控制算法的性能。 适合人群:从事自动驾驶、汽车工程及相关领域的研究人员和技术人员。 使用场景及目标:适用于没有直接车速传感器的车辆,在自动驾驶或底盘控制系统中,通过四轮轮速估计车速,确保控制系统的精确度和稳定性。 其他说明:该算法已在实际工程项目中得到了广泛应用,特别是在提高车辆控制精度和稳定性方面表现优异。

    全球产品经理大会演讲稿集合0901-0930.pdf

    全球产品经理大会演讲稿集合0901-0930.pdf

    transformers-4.51.1.tar.gz

    该资源为transformers-4.51.1.tar.gz,欢迎下载使用哦!

    实训商业源码-网站缩略图源码-毕业设计.zip

    实训商业源码-网站缩略图源码-毕业设计.zip

    基于粒子群优化与遗传算法的模糊PID控制策略优化及其在锅炉温度控制中的应用 v1.0

    内容概要:本文探讨了将粒子群优化(PSO)和遗传算法应用于模糊PID控制策略的优化方法,并进行了详细的仿真分析。文中指出,传统PID控制依赖手动调整参数,难以达到最佳性能,而模糊PID虽然引入了一定的自适应能力,但由于模糊规则依赖经验,仍存在局限性。为解决这些问题,作者提出并实现了基于粒子群优化和遗传算法的模糊PID控制策略。通过MATLAB编程,作者构建了适应度函数和PSO迭代算法,成功优化了模糊PID的量化参数。仿真结果显示,经过优化的模糊PID控制器不仅缩短了进入稳态的时间,而且显著降低了超调量,表现出优异的控制性能。 适合人群:自动化控制领域的研究人员和技术人员,尤其是对智能优化算法感兴趣的学者和工程师。 使用场景及目标:适用于需要精确控制的工业应用场景,如锅炉温度控制等。主要目标是提高控制系统的稳定性和响应速度,减少超调现象,提升整体控制效果。 其他说明:文中提供了完整的仿真模型和程序代码,便于读者理解和复现实验结果。此外,作者还分享了一些实际应用中的经验和教训,强调了适应度函数设计的重要性。

    【Java设计精品】考勤审核专家 - 论文、源码、PPT一站式.zip

    通关大全套(论文,ppt,源码都给你),这是我用过的,改改名字直接拿去用就好了

    qt实现车牌识别,OCR等知识

    qt实现车牌识别,OCR等知识

    qt-窗口实现自定义标题栏

    实现窗口自定义标题栏

    ### 2025汽车销售行业白皮书:人力资源核心指标分析与行业趋势展望

    内容概要:《薪智-2025汽车销售行业白皮书:人力核心指标行业报告系列》详细分析了2025年中国汽车销售行业的人力资源核心指标。报告涵盖多个维度的数据,包括样本分布、涨薪率、离职率、应届生起薪、城市薪酬差异系数、人力需求、招聘趋势、热门职能、福利洞察以及热门岗位薪酬。通过对不同城市、不同职能和不同企业的分析,报告揭示了行业内的薪酬变化趋势、招聘动态和人才流动情况。特别关注了涨薪率的变化,发现2024年汽车销售行业的涨薪率为2.5%,而2025年的预测为0.7%。此外,报告还展示了不同城市的薪酬差异,如上海的薪酬差异系数为122.7%,而贵阳则为71.8%。报告还指出,近一年来,汽车喷漆、销售代表、新媒体运营等职能的招聘量和薪酬变化较为显著。 适合人群:汽车行业从业者、人力资源管理者、招聘经理、企业决策层。 使用场景及目标:①帮助企业管理者制定合理的薪酬策略;②为人力资源部门提供招聘和留才依据;③为求职者提供行业薪酬和职业发展参考;④为企业调整福利政策提供数据支持。 阅读建议:本报告数据详实,建议重点关注涨薪率、离职率、应届生起薪和城市薪酬差异系数等关键指标,结合自身情况进行分析和应用。同时,关注热门职能和岗位的薪酬变化,有助于更好地把握行业发展趋势。

    基于Python的PCA人脸识别算法实现.zip

    基于Python的PCA人脸识别算法实现.zip

    TypeError Function cannot override public function with internal visibility解决办法.md

    TypeError Function cannot override public function with internal visibility解决办法.md

    电力电子领域双馈风机Simulink仿真模型:含简易撬棒电路Crowbar及过电压保护电路

    内容概要:本文详细介绍了含有简易撬棒电路(Crowbar)及过电压保护电路的双馈风机(DFIG)Simulink仿真模型。该模型摒弃传统IGBT或理想开关,改用改变转子侧变换器的参考电压方式来实现撬棒电路的切入和切出,从而有效解决过电压保护的问题。文中探讨了模型的设计思路、Simulink仿真分析方法以及所使用的控制策略,即解耦算法和最大功率点追踪(MPPT),并展示了相关代码的编写。此外,文章强调了该模型在理解和应用双馈风力发电系统方面的价值。 适合人群:从事电力电子、风电系统研究的技术人员,高校相关专业师生。 使用场景及目标:适用于需要深入了解双馈风机在过电压情况下行为的研究人员和技术开发者,旨在为其提供理论支持和实践指导。 其他说明:虽然模型已经具备独特优势,但仍需持续改进以满足不断变化的实际需求。

Global site tag (gtag.js) - Google Analytics