dao层和service层和control_Spring Boot - 多个数据源Service层封装

著作权归https://www.pdai.tech所有。

链接:https://www.pdai.tech/md/spring/springboot-data-multi.html

mysql, es, mongodb 三个数据源用配置文件方式连接,JPA只是正对dao做了封装,本文主要介绍如何对service层进行封装。 @pdai

  • Spring Boot - 多个数据源Service层封装
    • 类关系图
    • 封装的一些配置
      • application.yml
      • pom.xml
    • 封装后使用
      • MySQL 动态数据访问
    • Mongo 动态数据访问
    • ElasticSearch 动态数据访问(单个index+type)
    • ElasticSearch 动态数据访问(多个index+type)

类关系图

  • 对多个数据源连接获取数据进行统一封装
  • ES spring-data方式不支持多个Index和Type的查找功能,添加了DynamicESDao支持
  • 大大简化封装之后的调用, 调用方式如下

56f6a6a95f68a61420a7a16470c5c25f.png


封装的一些配置
application.yml

banner:
  

pom.xml

<

封装后使用

封装之后使用将非常简单,公共的Service行为将被封装处理

MySQL 动态数据访问

通过几行代码即可实现对MySQL的访问,同时支持动态的条件查询;
  • User
@Entity
  • Dao
@Repository
  • Service
public 
  • Controller
@RestController

Mongo 动态数据访问

通过几行代码即可实现对Mongo的访问,同时支持动态的条件查询;
  • Entity
@Document
  • Dao
@Repository
  • Service
public 
  • Controller
@RestController

ElasticSearch 动态数据访问(单个index+type)

通过几行代码即可实现对ElasticSearch的访问,同时支持动态的条件查询; 适合数据类型比较固定,且index和type独立的,比如强类型映射的实体类;
  • Entity
@Document
  • Dao
@Repository
  • Service
public 
  • Controller
@RestController

ElasticSearch 动态数据访问(多个index+type)

通过几行代码即可实现对ElasticSearch的访问,同时支持动态的条件查询; 适合数据类型不固定,且index和type有多个,这些index具备相同结构类型,比如syslog-EVERY-DATE(由于日志量大,将每天的日志单独存放在一个Index中);
  • Entity
@Document
  • Dao
public 
  • Service
public 
  • Controller
@RestController
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值