服务器端 API
服务器端的 API 可以在服务器端的执行环境中使用:
- 全局配置的各种回调函数如:【系统启动函数】,【用户登录前,中,后回调函数】。
- 事件响应配置中的后台执行函数如:【sql执行前后台脚本】,【JavaScript 过程】。
- 自定义后台接口中。
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(sql, params, callback) 执行 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 开始事务
@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();
}
...
})
});
});
})