跳至主要內容

模型数据管理器

Mr.Hope大约 4 分钟

模型数据管理器

数据管理器是什么?

数据管理器和数据构造器是Oinone为模型自动赋予的Function是内在数据管理能力,数据管理器针对存储模型是方便在大家编程模式下可以利用数据管理器Function快速达到相关数据操作的目的。数据构造器则主要用于模型进行初始化时字段默认值计算和页面交互

数据管理器

只有存储模型才有数据管理器。如果@Model.Advanced注解设置了dataManager属性为false,则表示在UI层不开放默认数据管理器。开放级别为API则表示UI层可以通过HTTP请求利用Pamirs标准网关协议进行数据交互。

模型默认数据读管理器

函数编码描述开放级别
queryByPk根据主键查询单条记录,会进行主键值检查Local、Remote
queryByEntity根据实体查询单条记录Local、Remote、Api
queryByWrapper根据查询类查询单条记录Local、Remote
queryListByEntity根据实体查询返回记录列表Local、Remote
queryListByWrapper根据查询类查询记录列表Local、Remote
queryListByPage根据实体分页查询返回记录列表Local、Remote
queryListByPageAndWrapper根据查询类分页查询记录列表Local、Remote
queryPage分页查询返回分页对象,分页对象中包含记录列表Local、Remote、Api
countByEntity按实体条件获取记录数量Local、Remote
countByWrapper按查询类条件获取记录数量Local、Remote

模型默认数据写管理器

函数编码描述开放级别
createOne提交新增单条记录Local、Remote
createOrUpdate新增或更新,需要为模型设置唯一索引,如果数据库检测到索引冲突,会更新数据,若未冲突则新增数据Local、Remote
updateByPk根据主键更新单条记录,会进行主键值检查Local、Remote
updateByUniqueField条件更新,条件中必须包含唯一索引字段Local、Remote
updateByEntity按实体条件更新记录Local、Remote、Api
updateByWrapper按查询类条件更新记录Local、Remote
createBatch批量新增记录Local、Remote
createOrUpdateBatch批量新增或更新记录Local、Remote
updateBatch根据主键批量更新记录,会进行主键值检查Local、Remote
deleteByPk根据主键删除单条记录,会进行主键值检查Local、Remote
deleteByPks根据主键批量删除,会进行主键值检查Local、Remote
deleteByUniqueField按条件删除记录,条件中必须包含唯一索引字段Local、Remote
deleteByEntity根据实体条件删除Local、Remote、Api
deleteByWrapper根据查询类条件删除Local、Remote
createWithField新增实体记录并更新实体字段记录Local、Remote、Api
updateWithField更新实体记录并更新实体字段记录Local、Remote、Api
deleteWithFieldBatch批量删除实体记录并删除关联关系Local、Remote、Api

如果模型继承IdModel,模型会自动设置主键设置为id,则会继承queryById、updateById和deleteById函数。

  • queryById(详情,根据ID查询单条记录,开放级别为Remote)
  • updateById(提交更新单条记录,根据ID更新单条记录,开放级别为Remote)
  • deleteById(提交删除单条记录,根据ID删除单条记录,开放级别为Remote)

如果模型继承CodeModel,模型也会继承IdModel的数据管理器,编码字段code为唯一索引字段。在新增数据时会根据编码生成规则自动设置编码字段code的值,继承queryByCode、updateByCode和deleteByCode函数。

  • queryByCode(详情,根据code查询单条记录,开放级别为Remote)
  • updateByCode(提交更新单条记录,根据code更新单条记录,开放级别为Remote)
  • deleteByCode(提交删除单条记录,根据code删除单条记录,开放级别为Remote)

没有主键或唯一索引的模型,在UI层不会开放默认数据写管理器。

数据构造器

模型数据构造器 construct:供前端新开页面构造默认数据使用。所有模型都拥有construct构造器,默认会将字段上配置的默认值返回给前端,另外可以在子类中覆盖construct方法。数据构造器 construct函数的开放级别为API,函数类型为QUERY查询函数,系统将识别模型中的以construct命名的函数强制设置为API开放级别和QUERY查询类型。

可以使用@FielddefaultValue属性配置字段的默认值。注意,枚举的默认值为枚举的name。