Skip to content

ynicing/object-sql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

121 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Light ORM by ursful.com


--------------------insert 保存----------------------
RoseType roseType = new RoseType();
roseType.setId("ID");
roseType.setName("Rose Type");
roseType.setOrderNum(1);
roseTypeService.insert(roseType);

--------------------update 更新----------------------
RoseType roseType = new RoseType();
roseType.setId("ID");
roseType.setOrderNum(2);
roseTypeService.update(roseType);

--------------------delete 删除----------------------
RoseType roseType = new RoseType();
roseType.setId("ID");
roseTypeService.delete(roseType);
or
roseTypeService.delete("ID");

--------------------list 列表----------------------
List list = roseService.list();

List list = roseService.list(new Express(Rose.T_ORDER_NUM, 3, ExpressionType.CDT_Equal));

List list = roseService.list(new Express(Rose.T_ORDER_NUM, 3, ExpressionType.CDT_Less),
new Express(Rose.T_ORDER_NUM, 0, ExpressionType.CDT_More));
List list = roseService.list(1, 5);

Terms terms = new Terms();
terms.and(new Express(Rose.T_ORDER_NUM, 2, ExpressionType.CDT_MoreEqual))
.or(new Express(Rose.T_ORDER_NUM, 6, ExpressionType.CDT_Less));

List list = roseService.list(terms);

List list = roseService.list(terms, new MultiOrder().asc(Rose.T_ORDER_NUM));

--------------------base Query 简单查询------------------------------
IBaseQuery query = new BaseQueryImpl();
query.table(RoseType.class);
query.where(Rose.T_ORDER_NUM, 2, ExpressionType.CDT_MoreEqual);

List roses = roseService.query(query);

List roses = roseService.query(query, 2);

int c = roseService.queryCount(query);

Page page = new Page();
page.setPage(1);
page.setSize(2);
page = roseService.queryPage(query, page);

--------------------multi Query 复杂查询------------------------------
IMultiQuery query = new MultiQueryImpl();

AliasTable arose = query.table(Rose.class);
AliasTable aroseType = query.table(RoseType.class);

query.where(arose.c(Rose.T_TYPE), aroseType.c(RoseType.T_ID));
query.where(arose.c(Rose.T_ORDER_NUM), 2, ExpressionType.CDT_MoreEqual);
query.createQuery(Map.class, arose.c(Expression.EXPRESSION_ALL), aroseType.c(RoseType.T_NAME, "TYPE_NAME"));

List> roses = roseService.query(query);
for(Map rose : roses) {
  System.out.println(rose.get("typeName"));
}

--------------------listener 监听器------------------------------
IDefaultListener:当insert或update之前,会调用该监听器
IORMListener:监听insert或update或delete
IChangeListener:当对象发生改变时触发该事件,该方法内部方法参与事务
IChangedListener:当对象发生改变(成功,无回滚)时触发该事件,该方法内部方法不参与事务,
需要使用com.ursful.framework.orm.transaction.TransactionManager,
jta需要使用MultiTransactionManager

---------------------Entity----------------------------------------
//类型
@RdTable(name = "ROSE_TYPE")
public class RoseType implements Serializable{
    private static final long serialVersionUID = 1L;
    //排序;默认升序 (NULL)
    public static final String T_ORDER_NUM = "ORDER_NUM";
    //编号;UUID (NOT NULL)
    public static final String T_ID = "ID";
    //名称;姓名 (NOT NULL)
    public static final String T_NAME = "NAME";

    @RdColumn(name = T_ORDER_NUM)
    private Integer orderNum;
    @RdId
    @RdColumn(name = T_ID, unique = true)
    private String id;
    @RdColumn(name = T_NAME)
    private String name;

    public Integer getOrderNum(){return this.orderNum;}

    public void setOrderNum(Integer orderNum){this.orderNum = orderNum;}

    public String getId(){return this.id;}

    public void setId(String id){this.id = id;}

    public String getName(){return this.name;}

    public void setName(String name){this.name = name;}
}


-------------------- Service ----------------------------------------
public interface IRoseTypeService extends IBaseService<RoseType> {

}
@Service("roseTypeService")
public class RoseTypeServiceImpl extends BaseServiceImpl<RoseType> implements IRoseTypeService {

}

About

Lightweight Object SQL Relational Mapping (OSRM) base on Spring jdbc/tx

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages