/**
* crud基础方法的调用方式
* call,callSuper,new Object(),super方式调用
* filter 过滤器
* properties 属性字段,例如要查询id ,name 则properties.add("id");properties.add("name"),查询所有字段用"*",即properties.add("*")
* limit 分页参数 记录数,设置为 0 或者 nul,表示查询所有纪录
* offset 分页参数 初始位置, 设置为 0 或者 nul,表示查询所有纪录
* order 排序,例如用年龄字段排序,即"order age asc"或者 "order age desc";
*/
public void test(){
//模型名
String modelName = "TestUser";
Filter filter = new Filter();
List<String> properties = new ArrayList<>();
int limit = 0;
int offset = 0;
String order = null;
//***************************************查询*******************************
//call方式调用
List<Map<String,Object>> list1 = (List<Map<String, Object>>) this.getMeta().get(modelName).call("search",filter,properties,limit,offset,order);
//callSuper方式调用
List<Map<String,Object>> list2 = (List<Map<String, Object>>) this.getMeta().get(modelName).callSuper(TestUser.class,"search",filter,properties,limit,offset,order);
//new方式调用,最终具体调用还是调用callSuper方式实现
List<TestUser> list3 = new TestUser().search(filter,properties,limit,offset,order);
//super方式调用,此为java的继承调用,继承自BaseModel,最终具体调用还是调用callSuper方式实现
List<TestUser> list4 = super.search(filter,properties,limit,offset,order);
//***************************************新增*******************************
List<Map<String, Object>> valuesList = new ArrayList<>();
//call方式调用
RecordSet recordSet1 = (RecordSet) this.getMeta().get(modelName).call("create",valuesList);
//callSuper方式调用
RecordSet recordSet2 = (RecordSet) this.getMeta().get(modelName).callSuper(TestUser.class,"create",valuesList);
//new方式调用,最终具体调用还是调用callSuper方式实现
TestUser user = new TestUser();
user.put("name","zhangsan");
user.create();
//super方式调用,此为java的继承调用,继承自BaseModel,最终具体调用还是调用callSuper方式实现
List<TestUser> userList = new ArrayList<>();
userList.add(user);
super.batchCreate(userList);
//***************************************更新*******************************
Map<String, Object> value = new HashMap<>();
value.put("id","666");
value.put("name","张三");
//call方式调用
RecordSet recordSet3 = (RecordSet) this.getMeta().get(modelName).call("update",value);
//callSuper方式调用
RecordSet recordSet4 = (RecordSet) this.getMeta().get(modelName).callSuper(TestUser.class,"update",value);
//new方式调用,最终具体调用还是调用callSuper方式实现
user.put("name","zhangsan");
user.update();
//***************************************删除*******************************
//根据id删除
RecordSet rs = this.getMeta().get(modelName);
String id = "666";
rs.browse(id).delete();
List<String> ids = new ArrayList<>();
ids.add("666");
ids.add("777");
rs.browse(ids).delete();
TestUser user1 = new TestUser();
user1.put("id","666");
user1.delete();
}