AppML 数据库参考

"database"属性

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

元素 描述
"connection" 数据库连接的名称
"execute" 数据检索前要执行的SQL语句数组(可选)
"keyfield" 主表的关键字段(可选)
"maintable" 此应用程序的主表(可选)
"orderby" 应用程序的固定 SQL order by 子句(可选)
"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)"
]
}}

非常适合快速原型制作!