用TaskBuilder开发的应用系统属于多层架构,也有前端文件和后台服务,但是前后端除了能直接执行的代码文件以外,还多了 设计时 的文件,因为HTML代码和JavaScript代码的结构太复杂,很难精确地还原为可以可视化设计的界面,所以TaskBuilder将可视化设计的前后端文件都保存为了JSON格式的 设计时 文件,以便后续还能用TaskBuilder打开并用相应的图形化设计器查看或继续进行修改编辑。 另外,为了方便在TaskBuilder中进行可视化开发时,能快速获取数据库中表或视图的结构信息,还需要创建数据模型文件。 总之,数据模型文件、后台服务文件和前端页面文件是使用TaskBuilder进行低代码开发必须的三种文件,下面分别对这三种文件进行详细介绍。 3.1数据模型文件 TaskBuilder主要用来开发基于关系型数据库的信息系统,在开发的过程中,经常需要与数据库打交道,为了方便开发者对数据库中的表和视图进行统一的维护和管理,TaskBuilder提供了专门的数据模型设计和管理的功能,可以直接在TaskBuilder里设计表和视图对应的数据模型,然后同步到数据库,也可以将数据库中已有的表或视图导出为数据模型文件。 通过数据模型,一是可以在开发的过程中快速获取表或视图的定义信息,二是可以在数据模型文件中配置一些常用的校验规则和关联关系,以便在对这些表或视图进行操作时能自动进行数据校验和关联更新。 3.1.1数据模型文件的格式 TaskBuilder中的数据模型文件的扩展名为.tdm(Taskmsg Data Model),用来定义应用的数据结构,对应数据库里的表或视图,该文件的实际内容为JSON格式,里面定义的信息包括数据库类型、数据源id、数据对象类型(表或视图)和名称,以及字段信息列表等,字段信息包括字段的名称、数据类型、长度、是否允许为空、默认值是多少等等。在数据模型设计器内,点击底部的“TDM代码”选项卡,即可查看数据模型的JSON代码,如下图所示: 3.1.2数据库表的模型设计 如果数据模型对应的是数据库中的表,则打开后的数据模型设计器界面如下图所示:
- 在此可以设置数据模型具体包括有哪些字段,以及各个字段的数据类型、长度、是否是主键、是否非空、是否自动增长、是否唯一、默认值、备注等信息。
3.1.3数据库视图的模型设计 如果数据模型对应的是数据库中的视图,则打开后的数据模型设计器界面如下图所示: 在此可以设置数据模型具体由哪些表关联构成,哪个是主表,各个表之间的关联条件,视图有哪些字段,各个字段是属于哪个表的,另外,还可以设置查询条件、分组条件和过滤条件。 3.1.4数据模型的双向同步 如果在数据库里修改了表或视图,可以点工具栏上的“从数据库同步”按钮将改动同步到数据模型文件中,如果在数据模型设计器中修改了数据模型,可以点工具栏上的“同步到数据库”按钮将改动同步到数据库。 3.1.5查看数据模型基本信息 在数据模型设计器内,点击底部的“基本信息”选项卡,即可查看当前数据模型的基本信息,如下图所示: 在此可以查看数据模型的文件名、数据源ID、数据库类型、数据对象类型、同步状态和模型备注,其中,模型备注可以设置和修改,如果设置了备注,则在项目资源管理器的数据模型列表里,该模型文件名后面会显示备注信息。 3.1.6查看创建模型的DDL语句 在数据模型设计器内,点击底部的“创建模型DDL”选项卡,即可查看创建该数据模型的DDL SQL语句,如下图所示: 点击工具栏上的“复制SQL”按钮,然后粘贴到其他数据库管理工具内执行,即可在其连接的数据库内创建当前数据模型定义的表或视图。 3.1.7使用数据模型的必要性 有同学可能会问,既然数据模型文件里保存的都是表或视图的信息,那进行以上操作时,为什么不直接从数据库里获取表或视图的信息呢?主要有以下几个原因: 性能:数据模型文件的内容会被缓存到内存中,需要使用时可以直接从内存读取,比从关系型数据库查询要快得多; 扩展性:数据模型文件里可以添加一些数据库里没有的信息,例如数据模型所属的数据源、多个表之间的关联关系、字段的扩展校验规则等; 兼容性:数据模型文件是一个中性的文件,理论上可以适配任擎支持的任何数据库。 总之,数据模型是使用TaskBuilder进行低代码开发所需的最基础信息,也是必须的信息,用TaskBuilder开发应用的第一步就是先创建好数据模型,否则后续的工作都无法进行。