造轮子:一个 ORM 持久层框架
这个想法其实已经在我心里很久了,自从对体检系统的框架伸出我的魔爪开始,我就一直想写一个属于自己的持久层框架。最近正好在学习 Hibernate,这个潜藏在心中的想法便越来越强烈。于是我迫不及待地开始设计、编码,只是无奈应了这句话:
读书太少而想太多。
经过几天夜以继日的编码,虽然终于做出了这个勉强能够使用的原型,但还是有许多问题未能解决。这个框架现今只有最基本的功能,如果遇到的问题有待解决,将会实现集合映射、关联映射以及与之配套的懒加载功能。代码已经托管在了我的GitHub(vincentlauvlwj/FrameDAL),要是有大神能进去指点指点就再好不过了。
现在,请允许我拿这个可能连半成品都算不上的东西来强行装个B
Features
- 支持对象-关系映射,以面向对象的方式操作数据库。
- 多种主键生成策略。支持 UUID,自增长,序列等。。
- 多数据库支持,无缝切换。在不同数据库之间切换只需更换配置文件即可,不用改动任何代码
- 扩展性强,面向接口编程,可随时增加对其他数据库的支持
- 支持一级 Session 缓存,减少连接数据库的次数,避免频繁的建立连接操作
- 支持命名查询,把 SQL 写在配置文件中,实现业务逻辑代码与SQL的解耦
- 支持事务处理。
- 支持多线程操作。