ynicing/object-sql
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
--------------------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 {
}