软件简介

ObjectiveSQL(简称: objsql,中文译为: 对象化SQL或者面向对象SQL)是一种ORM 技术在Java 中的应用,其主要思想为ActiveRecord,使传统应用程序开发中的VO,PO等变为真正的Java Class,不仅拥有相关状态,同时也应有相关行为。ObjectiveSQL 基于JSR 269,实现了数据库访问的动态代码生成,并且在其中封装了关系型数据库的常用逻辑,使得应用程序开发变得极其简单,由于动态代码生成,ObjectiveSQL 不依赖其它外部框架,可以在任何场景下独立运行,具体示例如下:

@DomainModel
public class Order {
    private String no;
    private Integer memberId;
    private Double amount;
    private Double quantity;

    @Relation(relationType = RelationType.BELONGS_TO)
    private Member member;

    @Transactional
    public static void makeOrder(Order order, OrderLine... orderLines) throws SQLException {
        Order.create(order, false);
        OrderLine.create(orderLines, false);
    }
}

上述示例代码中定义了Field(对应数据库表中的Column), 定义了关系(@Relation 意味着一个笔订单属于一个会员),在SELECT 时指定关系则可以自动填充该Field, 定义了数据库事务(@Transactional makeOrder)业务方法,方法体中的数据库操作均在数据库事务内运行,自动回滚和提交。部分使用API 如下:

Member newMember = new Member();
// To set the field value for "newMember"
newMember.save(false); //Skip the validation
// newMember.save(true); // Validating the field value before save
List<Member> members = Member.queryAll();
int count = Member.count("id > ?", 10);

 

转载自: https://www.oschina.net/p/objectivesql