AppML 参考引用 - 数据库
数据库属性
数据库属性将数据库定义为数据源。它有以下子属性:
| 元素 | 描述 |
|---|---|
| "connection" | 数据库连接的名称 |
| "execute" | 数据检索前要执行的 SQL 语句数组(可选) |
| "keyfield" | 主表的键字段(可选) |
| "maintable" | 此应用程序的主表(可选) |
| "orderby" | 应用程序的固定排序(可选) |
| "sql" | 用于检索数据的 SQL 语句 |
来自数据库的数据
该模型从 SQL 数据库中的 Customer 表中获取包含 Customer、City 和 Country 的记录:
实例
{"database": {"connection": "mysql","sql" : "SELECT CustomerName, City, Country FROM Customers","orderby" : "CustomerName"}}
过滤
要允许用户筛选数据,可以向模型中添加筛选:
"filteritems" : [{"item" : "CustomerName", "label" : "Customer"},{"item" : "City"},{"item" : "Country"}]
排序
要允许用户对数据进行排序,可以向模型中添加排序:
"sortitems" : [{"item" : "CustomerName", "label" : "Customer"},{"item" : "City"},{"item" : "Country"}]
更新
要允许用户更新数据,可以在模型中包含更新:
实例
"updateItems" : [{"item" : "CustomerName"},{"item" : "Address"},{"item" : "PostalCode"},{"item" : "City"},{"item" : "Country"}]
默认情况下,只有在模型中进行了指定,AppML 可以让您过滤、排序或更新数据
数据库连接
数据库连接定义在 appml_config.php:
appml_config.php
<?php echo("Access Forbidden");exit();?>{"dateformat" : "yyyy-mm-dd","databases": [{"connection" : "mysql","host" : "127.0.0.1:3306","dbname" : "Northwind","username" : "myUserId","password" : "myPassword"},{"connection" : "googleDB","host" : "192.168.1.1:3306","dbname" : "Northwind","username" : "myUserId","password" : "myPassword"},{"connection" : "amazonDB","host" : "mydbinstance.amazon.com:3306","dbname" : "Northwind","username" : "myUserId","password" : "myPassword"},{"connection" : "azureDB","host" : "azure.cloudapp.net","dbname" : "Northwind","username" : "myUserId","password" : "myPassword"}]}
配置文件可以包含许多数据库连接。
创建数据库
由于 AppML 允许您在应用程序启动之前执行 SQL 语句,因此如果需要,您可以使用它来创建数据库:
模型
{"database" : {"connection" : "myCDs","execute" : ["DROP TABLE IF EXISTS CD_Catalog","CREATE TABLE IF NOT EXISTS CD_Catalog (CDID INT NOT NULL AUTO_INCREMENT,PRIMARY KEY (CDID),Title NVARCHAR(255),Artist NVARCHAR(255),Country NVARCHAR(255),Price NUMBER)"]}}