多数据源

Spring MVC 多数据源实践

一世执手 提交于 2020-04-27 03:03:58
数据库情况:A数据库(oracle)+B数据库(Mysql) 一、applicationContext.xml配置 <!-- A库 --> <bean id="dataSourceA" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> ………… </bean> <!-- B库 --> <bean id="dataSourceB" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> ………… </bean> <!-- 动态数据源 --> <bean id="dynamicDataSource" class="edu.portal.demo.dataSource.DynamicDataSource"> <property name="targetDataSources"> <map key-type="java.lang.String"> <entry key="dbA" value-ref="dataSourceA" /> <entry key="dbB" value-ref="dataSourceB" /> </map> </property> <property name=

Srping Mybatis多数据源配置

别等时光非礼了梦想. 提交于 2020-04-15 03:34:01
【推荐阅读】微服务还能火多久?>>> 最近写了一个小的web应用,需要Srping Mybatis多数据源搭配工作,根据但数据源配置的情况,结合网络上众多大虾们的文章指导,完成了spring mybatis多数据源的配置。并在tomcat6+jee6下正常运行。以下是具体的配置情况。 1、applicationContext.xml <?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:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema

多数据源报表解析之简单多源报表

六眼飞鱼酱① 提交于 2019-12-16 19:54:11
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 多数据源报表即一张报表中可以定义多个数据集,分别取出需要的数据库表,所取的数据库表甚至可以来自于不同的数据库。本文通过几个例子说明多个数据集数据如何相互关联来实现多源报表。 1. 描述 多数据源,就是在同一张报表当中,显示的数据来自于多个不同的表或不同的库。 如下图一张简单的多数据源报表,左侧蓝色部分来自于销量表,右侧黄色部分来自销售总额表,即数据来自于两张不同的数据库表: 2. 示例 2.1 打开单个数据源报表 打开报表 %FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\CrossReport\Cross.cpt 。 2.2 新增数据源 再新增一个数据集ds2 ,其 SQL 语句为 SELECT * FROM [ 销售总额] 。ds2 数据集与 ds1 数据集都有一个销售员字段。 2.3 绑定数据列 如下图,将ds2 中销售总额数据列拖拽到单元格中,并设置父格为销售员所在单元格,使销售总额跟随销售员而扩展: 2.4 设置过滤 此时设计器预览,效果如下: 可以看到,扩展出来的每一个销售员下,都重复显示销售总额字段的所有数据。 虽然销售总额的父格为销售员数据列,由于他们来自于不同的数据集,因此销售总额不会将父格销售员作为条件进行筛选,即不存在附属关系。

扩展Myabatis Pagehelper支持多数据源的分页插件

橙三吉。 提交于 2019-12-06 09:59:22
http://git.oschina.net/free/Mybatis_PageHelper/blob/master/wikis/Important.markdown 结合spring使用mybatis pagehelper只能配置一个bean,当一个项目使用多种数据库时就比较纠结了,下面是我参考spring支持多数据源的思想封装一个支持多数据源的PageHelper。 实现一个mybatis插件,参考mybatis pagehelper,实现根据不同的数据源切换使用不同的pagehelper。 @SuppressWarnings({"rawtypes", "unchecked"}) @Intercepts(@Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class})) public class CustomPageHelper implements Interceptor { private PageHelper mysqlPageHelper = new PageHelper(); private PageHelper oraclePageHelper = new

jeecg3.5中多数据源配置

回眸只為那壹抹淺笑 提交于 2019-12-06 05:58:55
官方微信有介绍通过web界面配置的方法: 浅谈jeecg多数据源的使用 ,没试过不知道能不能用。 如果要手工配置也是可以的,直接在t_s_data_source表中增加一条记录就好了 INSERT INTO `t_s_data_source` (`id`, `db_key`, `description`, `driver_class`, `url`, `db_user`, `db_password`, `db_type`) VALUES ('1', 'SM_DB', 'sm_db', 'com.mysql.jdbc.Driver', 'jdbc:mysql://localhost:3306/sm?useUnicode=true&characterEncoding=UTF-8', 'sm', 'sm', 'mysql'); 这边url超过了50个字符,而jeecg3.5中该字段长度默认是50个字符,所以在执行条sql之前还需要把该字段长度加大: ALTER TABLE `t_s_data_source` MODIFY COLUMN `url` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `driver_class`; 来源: oschina 链接: https://my.oschina

对AutoTableBindPlugin的一点改造使它支持多数据源

淺唱寂寞╮ 提交于 2019-12-05 18:20:19
在使用jFinal的时候因为不想每个Model都一个个去写映射关系,因此使用了 @绝望的八皮 的AutoTableBindPlugin来自动绑定Model与表之间的映射,但是在jFinal升级到1.6后AutoTableBindPlugin不支持多数据源,因此对AutoTableBindPlugin做了小小的一点改造使它支持多数据源。 因为在使用AutoTableBindPlugin的时候它会检索到所有继承Model类的子类来进行绑定映射关系。因此在配置多个AutoTableBindPlugin的时候前面配置的AutoTableBindPlugin会加载后面配置的AutoTableBindPlugin中其他数据源的Model这个时候就报错了,提示找不到表了! 我的解决办法是添加一个包扫描的方法以及在AutoTableBindPlugin的构造方法中添加一个configName的参数 public class AutoTableBindPlugin extends ActiveRecordPlugin { protected final Logger log = Logger.getLogger(getClass()); @SuppressWarnings({"unchecked" }) private List<Class<? extends Model>>

Spring3 整合MyBatis3 配置多数据源 动态选择SqlSessionFactory

偶尔善良 提交于 2019-11-29 07:12:58
一、摘要 上两篇文章分别介绍了 Spring3.3 整合 Hibernate3、MyBatis3.2 配置多数据源/动态切换数据源 方法 和 Spring3 整合Hibernate3.5 动态切换SessionFactory (切换数据库方言) ,这篇文章将介绍Spring整合Mybatis 如何完成SqlSessionFactory的动态切换的。并且会简单的介绍下MyBatis整合Spring中的官方的相关代码。 Spring整合MyBatis切换SqlSessionFactory有两种方法,第一、 继承SqlSessionDaoSupport,重写获取SqlSessionFactory的方法。第二、继承SqlSessionTemplate 重写getSqlSessionFactory、getConfiguration和SqlSessionInterceptor这个拦截器。其中最为关键还是继承SqlSessionTemplate 并重写里面的方法。 而Spring整合MyBatis也有两种方式,一种是配置MapperFactoryBean,另一种则是利用MapperScannerConfigurer进行扫描接口或包完成对象的自动创建。相对来说后者更方便些