• Ujorm


    Ujorm是一个开源的对象-关系映射实现框架(ORM )。拥有一个类型安全的查询语言,可以让java编译器检查语法错误。支持懒加载,拥有比Hibernate更高的性能。ORM模型既可以通过Java源代码配置,也通过注释或XML文件配置。ORM可映射数据库中的表格,视图或自定义的SQL查询。JDBC查询参数通过问号传递给 PreparedStatement,以提高安全性。所有内部对象缓存都基于WeakHashMap类实现,所以在处理大量事务的时候不会引会内存溢出错误。

    Why a new ORM mapping?

    • framework has a type safe query language which allows the java compiler find a syntax error similar like a 4GL language
    • never more a LazyInitialization exception though a lazy initialization is supported
    • no confusing proxy business objects
    • no list properties are supported but a special object called UjoIterator is designed for a collection. The UjoIterator provides a toList() method for example
    • easy to configure the ORM model by java source code, optionally by annotations and a XML file
    • great performance, e.g. multi SELECT is eight times faster in comparison with Hibernate
    • small size of JAR file and no more library dependencies

    Some other features

    • resources for ORM mapping can be a database table, view, or your own SQL SELECT
    • JDBC query parameters are passed by a question notation to the PreparedStatement for a high security
    • all persistent objects are based on the OrmUjo interface, namely on the OrmTable implementation
    • internal object cache is based on the WeakHashMap class so that large transactions does not cause any OutOfMemoryException
    • the API was inspired mainly by Canyenne and Hibernate frameworks. I would like to thank the authors for good work.
    点击次数   官方主页【官方主页】   下载地址【下载地址】

    网友留言/评论

    我要留言/评论

    相关开源项目

    阿里巴巴CobarClient: CobarClient是一个轻量级分布式数据访问层(DAL)基于iBatis(已更名为MyBatis)和Spring框架实现。中文文档


    可以支持垂直和水平数据切分数据库集群的访问;

    支持双机热备的HA解决方案, 应用方可以根据情况选用数据库特定的HA解决方案(比如Oracle的RAC),或者选用CobarClient提供的HA解决方案.

    小数据量的数据集计(Aggregation), 暂时只支持简单的数据合并.

    数据库本地事务的支持, 目前采用Best Efforts 1PC模式的事务管理.

    数据访问操作相关SQL的记录, 分析等.(可以采用国际站现有Ark解决方案,但CobarClient提供扩展的切入接口)
    Burst: 轻量级通用数据库开发框架(Java)
    框架的功能
    1:对应Oracle, Db2, Sql Server, My sql四种数据库
    2:使用Excel定义表结构,用宏自动创建表定义和数据模型的java类
    3:自动创建和删除数据库表、索引、序列
    4:封装了数据库连接池、CRUD、多表联合检索、多字段多匹配方式(equal,like,between….)、排序、分页检索、通过复杂条件update或delete数据 等常用数据库功能,直接操作对象,而不需要写任何sql
    好处
    1:框架非常简单,一看就会
    2:开发迅速,简单的应用,Server端有个半天一天就够了
    3:减少Bug,代码很规范,而且容易出错的地方都封装了
    4:维护方便,就算是更改表结构,也很轻松
    需要准备的开发环境
    1:安装好数据库(以上4种之一,不推荐Sql server,比较麻烦)
    2:安装好eclipse 或 myeclipse
    3:安装好excel
    使用方法
    1:从google code下载项目文件和TblDesigner.xls
    2:使用TblDesigner.xls定义表结构,运行宏,并将生成的目录覆盖到项目目录
    3:配制db.properties文件
    4:用eclipse打开项目,可以开始写业务逻辑了
    5:functionTest包下有部分测试过程,可作参考

    Apache Torque:Apache Torque是一个使用关系数据库作为存储手段的Java应用程序持久化工具,是 Apache 的公开源代码项目,Torque是一个开源项目,由Web应用程序框架Jakarta Apache Turbine发展而来,但现在已完全独立于Turbine。Torque 主要包含两部分:一部分是 Generator,它可以产生应用程序需要的所有数据库资源,包括 sql 和 java 文件;另外一部分是 Runtime,提供使用这些代码访问数据库的运行时环境。目前 Torque 支持的数据库包括 DB2、SQL Server、Oracle、PostgreSQL等。
    IBATIS:使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等 “全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统 设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显 得别具意义。
    SimpleJDBC: SimpleJDBC是一个用于简化JDBC代码的简单框架,需Spring集成。SimpleJDBC让你用简单的SQL语句完成增删改查,同时支持强类型和Java泛型,仅需注入一个Db实例。
    设计思想

    契约优于配置,表名和类名一致,字段名和属性名一致;
    不需编写DAO,为一两行SQL编写一个DAO方法不值;
    简单的SQL语句,而不是经过ORM改造的HQL;
    没有Attach/Detach状态,均为原始Bean无CGLIB代理;
    没有一级/二级Cache,Cache应当用memcached,用不上memcached则说明压力小到根本无需Cache;
    外键也映射到简单字段,而非对象,不支持一对多或多对一的级联查询,永远不用担心查出额外对象;
    泛型和强类型支持,有SQL语句,但无JDBC代码;
    不支持join等复杂查询,必须增加表的冗余以便使用简单查询。
    XORM:XORM是为Java应用程序提供的一个可扩展的对象关系映射层。它使用Java Data Objects (JDO) API为RDBMS 提供了基于接口的持久性,同时也允许开发人员集中在对象模型,而不是物理层。
    JORM:JORM(Java对象存储映射)Java开源的持久性框架。它为JOnAS J2EE应用服务器提供EJB 2.0 CMP。JORM还与Speedo JDO实现结合。
    Slice:Slice扩展自OpenJPA用于分布式数据库的一个开源项目。Slice以插件的方式附加至OpenJPA runtime,通过配置一个持久单元就能够激活多个数据库支持。一旦配置好Slice,现有OpenJPA应用程序就能够在同一个事务中利用多个数据库进行处理。查询也将依赖所有数据库并行执行,任何更新也会提交至相应的数据库。
    Butler:Butler数据库框架是一个面向表格的Java对象模型(model).它基于JDBC可以让开发数据库程序变得容易.Butler有一组数据库swing组件与一个JSP标签库.
    pBeans:这是基于Java的持久层。提供了自动的对象/关系(O/R)映射,可以将JavaBeans 映射到数据库表。功能有持久性、自动表创建、修改,许多查询,等等。