文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

使用Spring MVC如何实现将java项目连接两个数据库

2023-05-31 14:39

关注

使用Spring MVC如何实现将java项目连接两个数据库?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

实现方法:

数据源在配置文件中的配置

<pre name="code" class="java"><&#63;xml version="1.0" encoding="UTF-8"&#63;> <beans xmlns="http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"  xmlns:cache="http://www.springframework.org/schema/cache"  xmlns:context="http://www.springframework.org/schema/context"  xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee"  xmlns:jms="http://www.springframework.org/schema/jms" xmlns:lang="http://www.springframework.org/schema/lang"  xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:oxm="http://www.springframework.org/schema/oxm"  xmlns:p="http://www.springframework.org/schema/p" xmlns:task="http://www.springframework.org/schema/task"  xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util"  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd  http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd  http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd  http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd  http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.1.xsd  http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.1.xsd  http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd  http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.1.xsd  http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.1.xsd  http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd  http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd">   <context:annotation-config />   <context:component-scan base-package="com"></context:component-scan>   <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">   <property name="locations">    <list>     <value>classpath:com/resource/config.properties</value>    </list>   </property>  </bean>   <bean id="dataSourceOne" class="com.mchange.v2.c3p0.ComboPooledDataSource"   destroy-method="close">   <property name="driverClass" value="${dbOne.jdbc.driverClass}" />   <property name="jdbcUrl" value="${dbOne.jdbc.url}" />   <property name="user" value="${dbOne.jdbc.user}" />   <property name="password" value="${dbOne.jdbc.password}" />   <property name="initialPoolSize" value="${dbOne.jdbc.initialPoolSize}" />   <property name="minPoolSize" value="${dbOne.jdbc.minPoolSize}" />   <property name="maxPoolSize" value="${dbOne.jdbc.maxPoolSize}" />  </bean>   <bean id="dataSourceTwo" class="com.mchange.v2.c3p0.ComboPooledDataSource"   destroy-method="close">   <property name="driverClass" value="${dbTwo.jdbc.driverClass}" />   <property name="jdbcUrl" value="${dbTwo.jdbc.url}" />   <property name="user" value="${dbTwo.jdbc.user}" />   <property name="password" value="${dbTwo.jdbc.password}" />   <property name="initialPoolSize" value="${dbTwo.jdbc.initialPoolSize}" />   <property name="minPoolSize" value="${dbTwo.jdbc.minPoolSize}" />   <property name="maxPoolSize" value="${dbTwo.jdbc.maxPoolSize}" />  </bean>   <bean id="dynamicDataSource" class="com.core.DynamicDataSource">   <property name="targetDataSources">    <map key-type="java.lang.String">     <entry value-ref="dataSourceOne" key="dataSourceOne"></entry>     <entry value-ref="dataSourceTwo" key="dataSourceTwo"></entry>    </map>   </property>   <property name="defaultTargetDataSource" ref="dataSourceOne">   </property>  </bean>   <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">   <property name="dataSource" ref="dynamicDataSource" />   <property name="hibernateProperties">    <props>     <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>     <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>     <prop key="hibernate.show_sql">false</prop>     <prop key="hibernate.format_sql">true</prop>     <prop key="hbm2ddl.auto">create</prop>    </props>   </property>   <property name="packagesToScan">    <list>     <value>com.po</value>    </list>   </property>  </bean>   <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">   <property name="sessionFactory" ref="sessionFactory" />  </bean>   <aop:config>   <aop:pointcut id="transactionPointCut" expression="execution(* com.dao..*.*(..))" />   <aop:advisor advice-ref="txAdvice" pointcut-ref="transactionPointCut" />  </aop:config>   <tx:advice id="txAdvice" transaction-manager="transactionManager">   <tx:attributes>    <tx:method name="add*" propagation="REQUIRED" />    <tx:method name="save*" propagation="REQUIRED" />    <tx:method name="update*" propagation="REQUIRED" />    <tx:method name="delete*" propagation="REQUIRED" />    <tx:method name="*" read-only="true" />   </tx:attributes>  </tx:advice>   <aop:config>   <aop:aspect id="dataSourceAspect" ref="dataSourceInterceptor">    <aop:pointcut id="daoOne" expression="execution(* com.dao.one.*.*(..))" />    <aop:pointcut id="daoTwo" expression="execution(* com.dao.two.*.*(..))" />    <aop:before pointcut-ref="daoOne" method="setdataSourceOne" />    <aop:before pointcut-ref="daoTwo" method="setdataSourceTwo" />   </aop:aspect>  </aop:config> </beans> 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯