/**
	 * 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();
	}