多数据源设计

在企业应用开发中,多数据源设计用于处理与其他子系统的交互,特别是需要实时查询的情况。Jeecg避免了复杂的数据源切换,采用Spring JDBC实现简单且独立于持久化框架的多数据源管理。通过t_s_data_source表维护数据源信息,并在系统启动时加载到缓存。DynamicDBUtil.java提供数据库操作方法,系统管理菜单允许维护数据源。
摘要由CSDN通过智能技术生成
  • 为什么要有多数据源?
    通常一个系统只需要连接一个数据库就可以了,Jeecg数据源是配置在spring-mvc-hibernate.xml文件中,这种数据源我们叫做主数据源。但是在企业应用的开发中往往会和其他子系统交互,特别是对于一些数据实时性要求比较高的数据,我们就需要做实时连接查询,而不是做同步。这个时候就需要用到多数据源。
    举个简单的例子某企业要做订单网上订单系统这里面就可以涉及到多个子系统的连接,比如:产品主数据的数据源,项目管理系统的数据源(项目可以产品订单)等多个不同数据库类似的数据源,他们可能是ORACLE,SQL SERVER,MYSQL等多种混合数据源。
  • Jeecg多数据源的设计原理
    多数据源的设计有多种方案,网上有很多是设计在spring-mvc-hibernate.xml文件中,通过在不同线程中datasource动态切换来实现,这样使得配置,程序太过复杂,所以Jeecg并没有使用这种方法。
    Jeecg多数据源设计很简单就是直接利用 springjdbc连接,跟Hibernate或者MyBatis等持久化框架无关。就是我们最原始的类似JDBC的连接原理一样,只不过我们这里使用了springjdbc更加成熟的连接方法。
    我们把多数据源的配置信息单独放在t_s_data_source表里维护管理。
  • Jeecg多数据的实现方法:

创建t_s_data_source表,结构如下,并把该表的内容在TOMCAT启动时添加到缓存(缓存机制查看类:InitListener),以t_s_data_source.key字段为key值,以t_s_data_source的实体类为value放到static Map中

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值