TURBO - 基于SpringJdbc封装的ORM框架


GPL
跨平台
Java

软件简介

写在前面

虽然还带着研发团队,但是主业已经是产品5年了。前几天部门里的研发经理找我说:领导,你的那套老框架现在有点年岁太久,维护成本太高了,团队最近正好有时间想启动一套新的java开发框架,你看行么。当然是随他们去了,毕竟已经不写代码好几年了。

想想也是,这个老框架已经是12年封装的框架一直用到现在,突然感觉老眼都湿润了,岁月不饶人,长江后浪推前浪,一代新人换旧人啊。

想想怎么也的给他一个好的结果,算是给自己研发生涯送个终吧,然后就打算给开源了,说是开源,其实就是放在开源网上了,由于框架毕竟太老了,代码也被小伙子长时间迭代改的有点面目全非了,也没有技术支持,所以不建议大家项目中使用,可以用来学习和产考。

这里陆续写几篇文章大概做一些对这个框架的介绍,包含一些实例。

打算主要介绍框架里面自己封装的ORM框架(基于对象关系映射的数据库访问框架)代号“TURBO”(涡轮增压),因为他是系统的内核,所以就想用发动机来起名。后面会陆续分享框架里面对权限验证、单点登录,监控,传输等组件。

项目已发布到码云上,地址:https://gitee.com/osjoe/turbo

整套ORM基于springjdbc封装,利用java反射机制实现,这里有同学会问,外面已经有hibernate,MyBatis这些牛逼的框架了你还封装个毛线。

初衷是啥

1、受不了hibernate,MyBatis太多的xml配置,就想能不配置就不配置。这种思想也一直延续到自己做产品,简单就是美。

2、由于自己曾经是orale的dba,所以就自己控制底层拼装sql,为未来的优化留后门,不想啥都让hibernate和mybatis做了,还是透明的方式,无法在底层插入自己的优化手段。

3、想用对象查询用对象查询,想写sql写sql,想混合就混合。

4、为了适应自己的前端框架,使得mvc各层对接更加轻量级,让各种什么PO,BO,VO,DTO,POJO来回转换都见鬼去吧。

5、多数据源的无缝切换,0代码修改。首先配置要尽可能的少,第二是底层要适配各种数据库的常用语法。

6、多个数据源的支持更简答话。

7、可动态创建数据源。

8、mvc能不能不要DAO层。

9、方便对接自己写的各种分表分区查询啥的。

10、(50%的初衷)当初年少轻狂,也没女票,对代码爱的痴狂,半夜2点还在撸代码,觉得有必要写一个展示一下自己的能力。