OpenHandX- Real是一个小巧的JDBC轻量级封装的持久化工具包,其核心的特性是查询结果集、以及增、删、改、按主键查询的封装。可以直接将查询出来的结果集封装成JavaBean,维护表数据时自动匹配字段和数据类型,这就为开发者做了最枯燥乏味、最容易出错的工作。还提供了spring的支持,由spring统一管理数据库事务。除此之外还提供一些常用应用工具类,如:树型结构类、枚举常量类、业务日志类、系统信息类、业务编号类。
第二版本后增加了数据库的兼容性,支持SqlServer、Oracle、Sybase、MySql几个主流数据库,增加了AbstractTableDAO大大简化对单表增删改插的开发工作。真正实现零SQL零配置文件的数据库开发。
1. OpenHandX-real与主流ORM持久框架的比较
首先主流ORM是一种比较优秀的框架,随着面向对象的软件开发方法发展而产生的,通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中,ORM实际上是对象- 关系映射。
ORM优势:
1、隐藏了数据访问细节,“封闭”的通用数据库交互,ORM的核心。他使得开发者的通用数据库交互变得简单易行,并且完全不用考虑SQL语句;
2、ORM使开发者构造固化数据结构变得简单易行。在ORM年表的史前时代,开发者需要将对象模型转化为一条一条的SQL语句,通过直连或是DB helper在关系数据库构造开发者的数据库体系。而现在,基本上所有的ORM框架都提供了通过对象模型构造关系数据库结构的功能。
主要特性
SQL生成和数据的组装 — 自动生成增、删、改、按主键查询操作的SQL和数据的组装, 使数据库开发变得简单易行;
查询结果集封装和持续优化的执行效率 — 允许开发者自己写查询SQL,SQL的效率完全控制在开发者手里,并能根据实际情况持续优化;
结果集的数据加工功能 — 结果集返回是RecordSetVO对象, RecordSetVO对象本身具有排序、分组、检索、统计、不重复值等功能
海量数据的支持 — 集成了OpenHandX-common特有持久PersistenceRecordSetVO对象,能一次从数据库中取出所有数据(只要应用服务器硬盘的剩余空间足够大),取出这些海量数据不占当前应用服务器的内存;
JDBC支持 — 由开发者自己管控数据库连接、事务,充分发挥开发者的想象力,提供开发者的高自由度,剩下繁琐的工作就由OpenHandX-Real完成;
支持大数据对象 — 开发者只要提供InputStream和OutputStream接口对象就能读取数据库的BLOB和CLOB数据;
SPRING支持 — OpenHandX-Real与Spring做了无缝的集成,由spring管理DAO和Service类、数据库连接池、数据库事务;
XML的SQLMAP支持 — OpenHandX-Real提供轻巧的SQL管理功能,允许开发者将SQL保存在XML配置文件中,便于统一规范和管理;
SQL字段映射 — 很多时候依靠OpenHandX-Real自动字段匹配功能不能完成的工作时,如:数据对象多个字段对应数据库中同一个字段时需要通过字段映射强制指定
常用工具类 — OpenHandX-Real提供了树型结构类、常量类、业务日志类、系统信息类、业务编号类的DAO和Service的实现类,也分别提供了JDBC和spring的实现