服务器端 API

服务器端的 API 可以在服务器端的执行环境中使用:

  1. 全局配置的各种回调函数如:【系统启动函数】,【用户登录前,中,后回调函数】。
  2. 事件响应配置中的后台执行函数如:【sql执行前后台脚本】,【JavaScript 过程】。
  3. 自定义后台接口中。

Enhancer 全局对象

getDatabaseService() 获取数据库服务

  • @return DatabaseService

getDatabaseConfig() 获取数据库配置

  • @return databaseConfiguration

getVariable(name) 获取全局变量

  • @param name {string} 变量名
  • @return variable {object} 变量值

setVariable(name, variable) 设置全局变量,设置后能在全局使用该变量

  • @param name {string}
  • @param variables {object}

DatabaseService 数据库服务对象,通过调用 Enhancer.getDatabaseService() 获得

execute([connectionName, ]sql, params, callback) 执行 SQL,无需关心数据库连接,内部自动获取,返回

  • @param connectionName {string} 数据连接名,如果缺省参数或者为空,则将使用默认数据连接执行 SQL。
  • @param sql {string} SQL 语句(SELECT, UPDATE, DELETE, INSERT)
  • @param params {array} sql 执行参数,按照 sql 语句中占位符的顺序排列。
  • @param callback {function} 回调函数
    • err {object} 错误对象,不为空时需要做一些错误处理。
    • result {object} 执行结果
      • rows -- 查询的结果行,执行 SELECT 时有效
      • metaData -- 数据列元数据,执行 SELECT 时有效
      • 其他增删改执行结果,不同的数据库返回的字段有所不同,可以打印控制台查看。

beginTransaction([connectionName, ]callback) 开始事务

  • @param connectionName {string} 数据连接名,如果缺省参数或者为空,则将使用默认数据连接开始事务。
  • @param callback {function} 回调函数

    • connection {Object} 回调函数的唯一参数,数据库连接对象
  • beginTransaction -- 例子

var DatabaseService = Enhancer.getDatabaseService();
DatabaseService.beginTransaction(function(conn) {
    var sql1 = 'INSERT INTO TABLE 1...';
    var sql2 = 'UPDATE TABLE 2...';
    conn.execute(sql1, [], function(err1, result1) {
        if (err1) {
            conn.rollback();
            return /* 做一些错误处理,如果环境中有 done 方法,则直接 done(err) */
        }
        conn.execute(sql2, [], function(err2, result2) {
            if (err2) {
                conn.rollback();
                return /* 做一些错误处理,如果环境中有 done 方法,则直接 done(err) */
            }
            // ... 
            conn.commit(function(err) {
                if (err) {
                    return conn.rollback();
                }
                ... 
            })
        });
    });
})

results matching ""

    No results matching ""