DudoJ是什么?

来源:互联网 发布:mac邮件服务器设置 编辑:程序博客网 时间:2024/04/16 15:53

  DudoJ是一个基于java的数据持久化框架,但它完全不同于其他的持久化框架,她给系统开发带来了许多令人振奋的功能。

  • 使用java撰写SQL脚本能力
      DudoJ 为您提供了使用java编写SQL脚本的能力。目前我们的应用数据绝大多数还是存储在关系数据库中,在应用中使用SQL语句来操作数据是我们最常用的方式。传统的方式是在编码时以硬编码方式在代码中嵌入SQL语句。这种方式带来的副作用是显而易见的。使用DudoJ做为企业应用的持久层,程序操作的都是java对象,一方面,将您的应用与数据库有效隔离,另一方面,在编译期就可检查对象、对象属性引用是否正确,而不象JDO一样要到运行时才能检查出错误。虽然不是什么重要的功能,但却能够提高我们的编码效率(同样的借助IDE的Code Insight 功能可以快速找到对象属性)。
  • SQL函数支持
      DudoJ 已经实现了常用的字符串函数、数学函数、日期函数,以后还会实现更多的函数。在DudoJ中使用函数,您不必担心不同数据库平台函数实现的差异,DudoJ为您提供了统一的函数接口,针对不同的数据库平台,DudoJ会自动的产生正确的映射。
  • 强大的查询功能
      借助DudoJ提供的函数功能和使用java撰写SQL脚本的能力,您可以使用DudoJ框架在您的应用中定义很复杂的查询。使用DudoJ您可以定义静态查询(在设计期将查询定义为一个类),也可以在运行时生成查询(动态查询),甚至允许您在映射文件中定义查询,实现任何复杂SQL的查询功能。
  • 平滑的数据库移植
      您是否经历过将您的应用从一个数据库平台转移到另一个数据库平台?是否为了不同数据库平台SQL实现的不同而不厌其烦的修改您的代码?相信许多人都经历过这些痛苦的时刻。现在,有了DudoJ数据持久化框架,您不必再为这些繁琐的事情所烦恼。使用DudoJ作为您应用的持久层,可以将您的应用毫无更改的移植到DudoJ支持的任何一个数据库平台,而不需要对程序代码做任何的更改。由于时间关系,也由于数据库平台的种类繁多,存在一些DudoJ目前不支持的数据库平台,但是DudoJ提供了灵活的扩展机制,在DudoJ的基础上您可以为您使用的数据库编写扩展模块,而这些模块是与应用无关的,您可以在您的不同应用之间重用这些模块。
  • 多数据库连接支持
      DudoJ不但支持多种数据库平台,而且支持多数据库平台协同工作。在DudoJ中通过设置配置文件,允许多个数据库平台同时工作在DudoJ框架中,数据库平台的数量没有限制。DudoJ甚至允许您在多个数据库平台之间建立数据关系,在进行对象的查、增、删改时,DudoJ会自动处理不同数据库连接的数据获取和更新。
  • 简单易用的API
      DudoJ框架对SQL函数提供了统一的接口,对不同的数据库的函数名进行了统一,您只需要了解DudoJ框架提供的函数定义即可,不需要了解低层不同数据库的差别,极大的简化您的开发工作。DudoJ也针对应用开发中碰到的一些问题进行了简化,比如分段查询,传统的在不同的数据库平台您需要别写不同的代码以适应在不同的数据库平台上进行的最优化的查询,使用DudoJ,您只需要使用Limit函数即可,您不需要担心不同的数据库平台上查询的效率问题,DudoJ会针对不同的数据库平台会自动生成有效率、正确的查询代码。
  • 自定义对象(UDT)持久化能力
      DudoJ框架提供了用户自定义对象持久化功能。您只需要为要持久化的对象实现SQLData接口,该对象就能够做为持久对象的一个属性值被持久化。对于Map,List,Collection,Set,您不必为这些对象实现SQLData接口(容器中的自定义对象需要实现SQLData接口),DudoJ会自动持久化这些对象。
  • 良好的批量数据处理性能
      为了实现通用的功能,各个框架产品都不可避免的要使用反射机制。通常的框架产品在操作对象数据时,对于每个对象的每个每个数据项都会使用反射来读取或者设置数据,而DudoJ采用了特殊的机制,只在对象初始化时使用反射,在以后的数据读取和设置时都不再使用反射,对于大批量的数据处理,这种机制能够在一定程度上提高系统效率。
  • 灵活的用户定制机制
      DudoJ拥有一个灵活的体系结构,允许您对DudoJ框架本身的功能进行扩展,而且DudoJ为您提供了扩展的切入点。通过扩展DudoJ框架,扩展DudoJ框架没有涉及到的方面,适应您以及您的客户多样化的需求。
  • 开放源代码
      DudoJ在GNU LGPL许可协议下发布,所有源代码公开。