当前位置: 首页 > news >正文

东莞网站建设哪家专业/软文推广文案

东莞网站建设哪家专业,软文推广文案,盗版视频网站怎么做的,小程序开发教程 吾爱破解前言 随着业务数据越来越多,多数据源和读写分离逐渐成为常规操作。可以给每个数据源写一套dao,这样代码很难维护,并且如果数据源太多,代码量恐怖的难以想象 办法 我们可以借助spring提供的扩展类AbstractRoutingDataSource实现…

前言

随着业务数据越来越多,多数据源和读写分离逐渐成为常规操作。可以给每个数据源写一套dao,这样代码很难维护,并且如果数据源太多,代码量恐怖的难以想象

办法

我们可以借助spring提供的扩展类AbstractRoutingDataSource实现,源码见 https://gitee.com/jauking/mybatis_demo

实现细节

AbstractRoutingDataSource 数据源路由

实现如项目中 com.example.mybatis_demo.datasource.DynamicDatasource
这个类是spring提供的数据源路由器,原理是我们构造一个多数据源的map,key是我们自己定义的任意类型,value是数据源,然后我们实现determineCurrentLookupKey方法,返回key。那spring需要数据源的时候会调用determineCurrentLookupKey方法返回key,然后从map中获取对应的数据源。那这个key怎么获取呢?

获取数据源的key

实现如项目中 com.example.mybatis_demo.datasource.DynamicDataSourceContextHolder
因为每次运行都在一个线程中,所以我们可以使用ThreadLocal保存和获取key。DynamicDatasource获取key没有问题,那什么时候set呢

setKey

setKey必须在调用框架getConnection之前,我们可以使用SpringAOP技术,拦截Service方法,在调用方法前,根据入参生成key,放到DynamicDataSourceContextHolder中。这样虽然可以,但是如果有多个地方使用了dao,那是不是需要代理多个地方,不是很方便。
本项目用到了mybatis,所以可以使用mubatis的拦截器,在query之前setKey,(如:com.example.mybatis_demo.datasource.MybatisDatasourceInterceptor)。
有了拦截器,我们要把拦截器放到容器中,如:com.example.mybatis_demo.config.MybatisInterceptorsConfig

其他

需要说明的是,本项目使用User.shardFlag属性作为切分键,实现分库分表。
那么如果需要实现读写分离的话,小伙伴们可以自己想想,如果有需要可以留言

完结

至此多数据源我们就实现了

http://www.lbrq.cn/news/1377721.html

相关文章:

  • 软件开发网站能做seo吗/郑州百度推广开户
  • 做网站真辛苦/宁德seo公司
  • 武汉做网站的有哪些/小程序开发公司前十名
  • 河南网站建设的详细策划/网站制作app免费软件
  • 高端网站建设公司哪家专业靠谱/网站流量统计系统
  • 农特产品电商网站建设目标/李江seo
  • 微博分享的网站怎么做/成都seo达人
  • net网站建设/北京公司排名seo
  • 广告设计与制作主修课程有哪些/百度站长工具seo查询
  • 品牌网站建设h5/搜索引擎的设计与实现
  • 推销产品什么网站好/郑州百度网站快速优化
  • 代理注册公司网站模版/搜索引擎优化的方法和技巧
  • 三门峡网站建设/杭州云优化信息技术有限公司
  • 郑州 网站报价/软文文章
  • 滨海县建设局网站/搜索引擎优化的作用是什么
  • 建设英文网站的申请怎么写/长春百度seo公司
  • 郴州宜章疫情最新情况/谷歌seo是指什么意思
  • 无锡企业制作网站/企业查询软件
  • 帮客户做网站挣钱吗/信息流优化师培训机构
  • 网站开发感受/seo是怎么优化上去
  • 域名同时做邮箱和网站/发广告去哪个平台
  • 嘉兴专业做网站/优化推广服务
  • 广西做网站公司有哪些/百度关键词怎么设置
  • 关于 建设 旅游网站 建议/适合奖励自己的网站免费
  • 扬州鼎盛开发建设有限公司网站/个人如何在百度做广告
  • 宣传片拍摄技巧/如何优化网络连接
  • 做网站怎么兼职/竞价推广账户托管费用
  • 做网站的公司没有技术/百度指数查询工具
  • 网站管理系统哪个好/杭州seo网站优化
  • 网站运行费用/seo优化有哪些
  • 一种基于入侵杂草优化算法(IWO)的聚类算法,并与K-Means、高斯混合模型(GMM)进行对比,Matlab
  • Javaweb————Apache Tomcat服务器介绍及Windows,Linux,MAC三种系统搭建Apache Tomcat
  • python---literal_eval函数
  • stm32是如何实现电源控制的?
  • 在纯servlet项目中,使用@WebFilter定义了多个filter,如何设置filter的优先级
  • Vue3 setup、ref和reactive函数