当前位置:首页 » 操作系统 » mybatis多个数据库

mybatis多个数据库

发布时间: 2022-08-05 00:05:52

‘壹’ spring+mybatis怎么配置一个数据源,多个数据库

spring+mybatis怎么配置一个数据源,多个数据库
pring配置文件
<?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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd

‘贰’ spring+mybatis多数据源配置问题,谁能帮我分析一下问题出在哪儿

你看个范例吧:

<context:component-scan base-package="com.byd.mes.dev,com.byd.mes.bussiness.service" />

<!--===================================================================================
指定Spring配置中用到的属性文件
====================================================================================-->
<bean id="propertyConfigurer"
class="com.byd.mes.util.PropertyConfigurer">
<property name="locations" >
<list>
<!--
<value>classpath:com/byd/mes/conf/jdbc@b_wip3.properties</value>
<value>classpath:com/byd/mes/conf/jdbc@b_wip.properties</value>
<value>classpath:com/byd/mes/conf/jdbc@bmes_wip.properties</value>
-->

<value>classpath:com/byd/mes/conf/jdbc@bmes_dev.properties</value>
<value>classpath:com/byd/mes/conf/system_conf.properties</value>

</list>
</property>
</bean>
<!--===================================================================================
数据源
====================================================================================-->
<!-- 业务数据库 -->
<bean id="dataSourceORG" class="org.apache.commons.dbcp.BasicDataSource" destroy-method ="close"
p:driverClassName="${mes.org.jdbc.driver}"
p:url="${mes.org.jdbc.connectionURL}"
p:username="${mes.org.jdbc.username}"
p:password="${mes.org.jdbc.password}"
/>
<!-- 归档数据库 -->
<bean id="dataSourceODS" class="org.apache.commons.dbcp.BasicDataSource" destroy-method ="close"
p:driverClassName="${mes.ods.jdbc.driver}"
p:url="${mes.ods.jdbc.connectionURL}"
p:username="${mes.ods.jdbc.username}"
p:password="${mes.ods.jdbc.password}"
/>
<!-- 动态数据源 -->
<bean id="dataSource" class="com.byd.mes.util.datasource.DynamicDataSource">
<property name="targetDataSources">
<map>
<entry key="orgdb" value-ref="dataSourceORG"/>
<entry key="odsdb" value-ref="dataSourceODS"/>
</map>
</property>
<property name="defaultTargetDataSource" ref="dataSourceORG" />
</bean><!--===================================================================================
ibatis配置
====================================================================================-->
<bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler"/>

<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation">
<value>classpath:com/byd/mes/conf/sqlMapConfig_mes.xml</value>
</property>
<property name="lobHandler" ref="lobHandler"/>
</bean>
<!--===================================================================================
定义事务管理器(声明式的事务)
====================================================================================-->

<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref local="dataSource" />
</property>
</bean>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" timeout="60"
read-only="false" rollback-for="Throwable" />
<tx:method name="send*" propagation="REQUIRED" timeout="60"
read-only="false" rollback-for="Throwable" />
<tx:method name="save*" propagation="REQUIRED" timeout="60"
read-only="false" rollback-for="Throwable" />
<tx:method name="delete*" propagation="REQUIRED" timeout="60"
read-only="false" rollback-for="Throwable" />
<tx:method name="update*" propagation="REQUIRED" timeout="60"
read-only="false" rollback-for="Throwable" />
<tx:method name="imp*" propagation="REQUIRED" timeout="180"
read-only="false" rollback-for="Throwable" />
<tx:method name="execute*" propagation="REQUIRED" timeout="60"
read-only="false" rollback-for="Throwable" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="interceptorPointCuts"
expression="(execution(* com.byd.mes..*ServiceImpl.*(..)))" />

<aop:advisor
advice-ref="txAdvice" pointcut-ref="interceptorPointCuts" />

</aop:config>
<!--===================================================================================
OTHER SPRING XML
====================================================================================-->
<!-- 权限 -->
<import resource="applicationContext-permission.xml" />
<!-- 动态任务 -->
<import resource="applicationContext-quartz.xml" />


<!--===================================================================================
ACTION XML
====================================================================================-->
<!-- 主数据 action -->
<import resource="action_mes_main.xml"/>
<!-- 权限action -->
<import resource="action_mes_system.xml"/>
<!-- 现场操作管理 -->
<import resource="action_mes_siteoperation.xml"/>
<!-- 仓库管理 -->
<import resource="action_mes_wm.xml"/>
<!-- 包装出货管理 -->
<import resource="action_mes_packing.xml"/>
<!-- 生成管理-->
<import resource="action_mes_proction.xml"/>
<!-- 系统缓存配置-->
<import resource="cache_conf.xml"/>
<!-- 开发-->
<import resource="action_mes_dev.xml"/>

<!--===================================================================================
DAO XML
=====================================================================================-->
<!-- 主数据 -->
<import resource="_mes_main.xml" />
<!-- 权限DAO -->
<import resource="_mes_system.xml" />
<!-- POD模块DAO -->
<import resource="_mes_siteoperation.xml" />
<!-- 仓库模块DAO -->
<import resource="_mes_wm.xml" />
<!-- 生产管理DAO -->
<import resource="_mes_proction.xml" />
<!-- 包装 -->
<import resource="_mes_packing.xml" />
<!-- _pagedesign.xml -->
<import resource="_pagedesign.xml" />
<!--===================================================================================
SERVICE XML
=====================================================================================-->
<!-- 主数据 service-->
<import resource="service_mes_main.xml" />
<!-- 权限SERVICE -->
<import resource="service_mes_system.xml" />
<!-- POD模块SERVICE -->
<import resource="service_mes_siteoperation.xml" />
<!-- 仓库模块SERVICE -->
<import resource="service_mes_wm.xml" />
<!-- 生产管理SERVICE -->
<import resource="service_mes_proction.xml" />
<!-- 包装 service-->
<import resource="service_mes_packing.xml" />
<!--===================================================================================
OTHER XML
=====================================================================================-->
<!-- Applicationcontext应用Bean -->
<bean id="beanFactory" class="com.byd.mes.util.BeanFactory"
p:propertyConfigurer-ref ="propertyConfigurer"/>

<!--===================================================================================
系统标准功能点 XML解析服务类
=====================================================================================-->
<bean id="standardActivityXMLParseClass" class="java.util.HashMap">
<constructor-arg>
<map>
<entry key="START" value="com.byd.mes.dev.parseXml.StartActivityUtil,START" />
<entry key="COMPLETE" value="com.byd.mes.dev.parseXml.CompleteActivityUtil,COMPLETE" />
<entry key="NCLOG" value="com.byd.mes.dev.parseXml.NcLogCompleteActivityUtil,NCLOG" />
<entry key="SFCDATACOLLECTION" value="com.byd.mes.dev.parseXml.DataCollectionActivityUtil,SFCDATACOLLECTION" />
<entry key="SERIALIZE" value="com.byd.mes.dev.parseXml.SerializeActivityUtil,SERIALIZE" />
<entry key="PASS" value="com.byd.mes.dev.parseXml.PassActivityUtil,PASS" />
</map>
</constructor-arg>
</bean>
</beans>

‘叁’ spring+mybatis 多数据库事务管理:一个方法里面能同时对两个数据库的数据进行操作

  1. 定义两个DAO分别使用不同的数据源,ADAO连接A数据库,BDAO连接B数据库

  2. 定义一个Service类,加上Spring注解@Transactional,表示进行事务管理。

    将ADAO和BDAO注入到Service类里面。

    在service类里面创建一个方法,方法里调用ADAO的方法插入数据到A数据库的user表,然后调用BDAO的方法插入数据到B数据库的user表

‘肆’ mybatis连2个数据库 怎么判断使用

在DAO的实现类层你可以看到你implements的方法的名称,这个名称就是你配置数据源名称的地方,通过数据源名称查询你的WEB-INF/项目名称/config/**Context.xml文件里配置的数据源信息。再通过WebLogic控制台找到你配置信息的具体数据源及各种信息。

‘伍’ 在Mybatis中连接查询两个数据库的两张表的字段怎么搞

跟你之前只有一个数据库写SQL一样的。只不过表明前面带上数据库的schema名称就好了,跟写单库的表查询一样一样的。

select*fromuser.`user`u
leftjointrade.`trade_order`t
on
u.`id`=t.`user_id`

为了给你讲解清楚,特地亲手创建了两个数据库,以及两张表。希望对你有帮助,还望采纳最佳噢!谢谢 ^_^

‘陆’ spring+mybatis 多数据库事务管理:一个方法里面能同时对两个数据源的数据进行操作,这两个数据库中的表

1.定义两个DAO分别使用不同的数据源,ADAO连接A数据库,BDAO连接B数据库
2.定义一个Service类,加上Spring注解@Transactional,表示进行事务管理。事务要配置成jta分布式事务。

将ADAO和BDAO注入到Service类里面。
在service类里面创建一个方法,方法里调用ADAO的方法插入数据到A数据库的user表,然后调用BDAO的方法插入数据到B数据库的user表

‘柒’ mybatis怎么实现两种数据库的兼容

在系统运行过程中,针对不同数据库类型区分加载不同文件路径下的sqlmap配置。

留给开发人员做的事依旧是快乐地编写原始数据库语句,而不再为多数据库兼容问题挠头。

‘捌’ mybatis怎么配置两个数据库

这是我之前写的一个在xml文件中配置oracle数据源的部分代码,由于我是用了分散配置,所以vaule=的值是在另外一个文件中,lz可以直接将相关信息硬编码进去

热点内容
安卓系统怎么注册不了ins 发布:2024-05-19 14:01:00 浏览:960
买服务器后怎么搭建功能 发布:2024-05-19 14:00:03 浏览:207
windows文件夹图标下载 发布:2024-05-19 13:25:44 浏览:689
数据库存储数据类型 发布:2024-05-19 13:25:28 浏览:584
电脑开机密码忘记了如何解锁没有管理员窗口 发布:2024-05-19 13:24:50 浏览:277
畅捷支付刷脸机如何设置密码 发布:2024-05-19 13:03:10 浏览:764
java麻将 发布:2024-05-19 13:03:00 浏览:433
存储过程大数据游标 发布:2024-05-19 13:00:50 浏览:515
内存存储价格 发布:2024-05-19 13:00:48 浏览:389
隔离期的算法 发布:2024-05-19 12:55:13 浏览:530