AppML 参考引用 - 数据库

数据库属性

数据库属性将数据库定义为数据源。它有以下子属性:

元素描述
"connection"数据库连接的名称
"execute"数据检索前要执行的 SQL 语句数组(可选)
"keyfield"主表的键字段(可选)
"maintable"此应用程序的主表(可选)
"orderby"应用程序的固定排序(可选)
"sql"用于检索数据的 SQL 语句

来自数据库的数据

该模型从 SQL 数据库中的 Customer 表中获取包含 Customer、City 和 Country 的记录:

实例
  1. {
  2. "database": {
  3. "connection": "mysql",
  4. "sql" : "SELECT CustomerName, City, Country FROM Customers",
  5. "orderby" : "CustomerName"
  6. }
  7. }

过滤

要允许用户筛选数据,可以向模型中添加筛选:

  1. "filteritems" : [
  2. {"item" : "CustomerName", "label" : "Customer"},
  3. {"item" : "City"},
  4. {"item" : "Country"}]

排序

要允许用户对数据进行排序,可以向模型中添加排序:

  1. "sortitems" : [
  2. {"item" : "CustomerName", "label" : "Customer"},
  3. {"item" : "City"},
  4. {"item" : "Country"}]

更新

要允许用户更新数据,可以在模型中包含更新:

实例
  1. "updateItems" : [
  2. {"item" : "CustomerName"},
  3. {"item" : "Address"},
  4. {"item" : "PostalCode"},
  5. {"item" : "City"},
  6. {"item" : "Country"}]
默认情况下,只有在模型中进行了指定,AppML 可以让您过滤、排序或更新数据

数据库连接

数据库连接定义在 appml_config.php:

appml_config.php
  1. <?php echo("Access Forbidden");exit();?>
  2. {
  3. "dateformat" : "yyyy-mm-dd",
  4. "databases": [
  5. {
  6. "connection" : "mysql",
  7. "host" : "127.0.0.1:3306",
  8. "dbname" : "Northwind",
  9. "username" : "myUserId",
  10. "password" : "myPassword"
  11. },
  12. {
  13. "connection" : "googleDB",
  14. "host" : "192.168.1.1:3306",
  15. "dbname" : "Northwind",
  16. "username" : "myUserId",
  17. "password" : "myPassword"
  18. },
  19. {
  20. "connection" : "amazonDB",
  21. "host" : "mydbinstance.amazon.com:3306",
  22. "dbname" : "Northwind",
  23. "username" : "myUserId",
  24. "password" : "myPassword"
  25. },
  26. {
  27. "connection" : "azureDB",
  28. "host" : "azure.cloudapp.net",
  29. "dbname" : "Northwind",
  30. "username" : "myUserId",
  31. "password" : "myPassword"
  32. }
  33. ]
  34. }
配置文件可以包含许多数据库连接。

创建数据库

由于 AppML 允许您在应用程序启动之前执行 SQL 语句,因此如果需要,您可以使用它来创建数据库:

模型
  1. {
  2. "database" : {
  3. "connection" : "myCDs",
  4. "execute" : [
  5. "DROP TABLE IF EXISTS CD_Catalog",
  6. "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)"
  7. ]
  8. }}

分类导航