当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

openhandx real

JDBC 轻量级封装的持久化工具包
授权协议 GPL
开发语言 Java
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 国产
投 递 者 厉念
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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的实现

 相关资料
  • 本文向大家介绍php轻量级的性能分析工具xhprof的安装使用,包括了php轻量级的性能分析工具xhprof的安装使用的使用技巧和注意事项,需要的朋友参考一下 一、前言   有用的东西还是记录下来吧,也方便以后的查询;这次记录一下xhprof的安装使用;   xhprof是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,   还可以用在生产环境中,也可

  • 主要内容:JPA级联持久化示例,输出结果级联持久化用于指定如果实体持久化,则其所有关联的子实体也将被持久化。 以下语法用于执行级联持久性操作 - JPA级联持久化示例 在这个例子中,我们将创建两个相互关联的实体类,但要建立它们之间的依赖关系,我们将执行级联操作。 这个例子包含以下步骤 - 第1步: 在包下创建一个名为的实体类,其中包含属性:,,以及标记为级联规范的类型的对象。 文件: StudentEntity.java - 第2步:

  • 问题内容: 在解决了另一个愚蠢的日食问题之后,我想尝试获得尽可能轻巧,最小的Eclipse安装。 为了清楚起见,我使用eclipse做两件事: 编辑Java 调试Java 我通过Emacs / Zsh完成的所有其他工作(编辑JSP / XML / JS,文件管理,SVN签入等)。我还没有发现在Eclipse中进行工作以使这些任务高效甚至可靠的任何方面,因此我不希望与之相关的插件。 在eclipse

  • 问题内容: 编写新的工作流引擎还是使用现有的BPM引擎更好吗:jBPM 5,Activiti 5? 我的应用程序是基于Web的应用程序,性能非常重要。我的疑问是,与编写简单的工作流引擎相比,使用jBPM / Activiti是否会增加性能开销。 如果我采用自我实现,我会错过工作流程的可视化。为了性能,可以进行交易。 问题答案: 这确实取决于您的要求。首先,查看您是否真的需要工作流引擎(此资源或其他

  • Angular的i18n很棒,像ng-packagr这样的工具使组件库打包变得极其容易,但是它们能结合起来吗? 如果我想打包和分发一个具有可翻译组件的组件库,该怎么办?有可能吗?我如何包装这样的库?翻译文件会随包一起出货吗,还是应该在主App中定义? 如果有人能给我指个医生就好了。谢谢

  • Akka持久化使有状态的actor能留存其内部状态,以便在因JVM崩溃、监管者引起,或在集群中迁移导致的actor启动、重启时恢复它。Akka持久化背后的关键概念是持久化的只是一个actor的内部状态的的变化,而不是直接持久化其当前状态 (除了可选的快照)。这些更改永远只能被附加到存储,没什么是可变的,这使得高事务处理率和高效复制成为可能。有状态actor通过重放保存的变化来恢复,从而使它们可以重

  • 我有一个实体,它已经持久化,并希望将其添加到新生成的父实体(尚未持久化)。如果我尝试持久化父级,我会得到错误“分离的实体传递到持久化:model.child”。我想我必须以某种方式为孩子调用“EntityManager.merge()”,而不是“EntityManager.persisted()”。但是我没有显式调用persisted。这由“cascade=cascadetype.all”注释处理

  • Spark通过在操作中将其持久保存在内存中,提供了一种处理数据集的便捷方式。在持久化RDD的同时,每个节点都存储它在内存中计算的任何分区。也可以在该数据集的其他任务中重用它们。 我们可以使用或方法来标记要保留的RDD。Spark的缓存是容错的。在任何情况下,如果RDD的分区丢失,它将使用最初创建它的转换自动重新计算。 存在可用于存储持久RDD的不同存储级别。通过将对象(Scala,Java,Pyt