zebra:基于Jdbc的拓展

以前做读写分离,分库分表设计都是从Mybatis层介入,需要很复杂工作,业务侵入很大。后面在工作中使用的zebra基于Jdbc的api进行封装,将多个数据源封装到一个数据源,提供给上层的视图是统一的数据源,这样完全不侵入上层却定制了丰富的操作,不得不说思路非常好,这里推荐大家去看一下zebra在github上的源码,代码量很小,实现的功能却很强大,整体代码结构层次清晰,流畅。

概览

具体使用就不说了,api文档都是中文的,这是点评团队开源的,很感谢这些团队的成员。

这里我理解的读写分离实现部分,可以很明显的看出来对上层提供一个数据源对象,在下层使用时可以根据不同的sql行为或者ThreadLocal参数指定不同的数据源。


读写分离概览

对Mybatis来说它只展现了一个数据源视图,Mybatis完全感知不到它,不侵入业务也不侵入Mybatis,将ORM也隔离开了。这就是基于Jdbc封装的优势,功能强大,无侵入。

其他

说实话第一次接触zebra我被深入Jdbc封装跳过ORM框架去解决多数据源路由这种思路惊艳到了。
总有更好的思路去解决问题,如果你觉得面对的问题很难处理,可能是你还没深入到能简单解决这个问题的高度。共勉

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、谈谈你对Struts的理解。 答: 1.struts是一个按MVC模式设计的Web层框架,其实它就是一个大大的...
    慕容小伟阅读 3,018评论 0赞 13
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,500评论 25赞 708
  • 我登上一座很高很高的山 山上没有树 没有清新的空气和明媚的阳光 山下没有大片的田野 天上也没有朵朵白云 我深吸一口...
    水怪阅读 277评论 0赞 2
  • 最近一段时间,乐视的事情可谓是一波还未平息一波又来侵袭,在白衣骑士孙宏斌离开乐视之后,乐视以连续两个跌停板来纪念孙...
    慕容随风阅读 360评论 0赞 4
  • 不管未来的路有多长 未来的路有多坎坷 希望在未来的某一天能遇见你 无论是在喧嚣的十字路口 还是空寂幽暗的咖啡厅 抛...
    酥白阅读 156评论 0赞 0

友情链接更多精彩内容