對象MySQL
mysql 數據庫連接對象
使用 db.open 或 db.openMySQL 創建,創建方式:
1var mysql = db.openMySQL("mysql://user:pass@host/db");
繼承關係
成員屬性
rxBufferSize
Integer, 數據庫連接接收緩存尺寸
1Integer MySQL.rxBufferSize;
txBufferSize
Integer, 數據庫連接發送緩存尺寸
1Integer MySQL.txBufferSize;
type
String, 查詢當前連接數據庫類型
1readonly String MySQL.type;
成員函數
close
關閉當前數據庫連接
1MySQL.close() async;
use
選擇當前數據庫連接的缺省數據庫
1MySQL.use(String dbName) async;
調用參數:
- dbName: String, 指定數據庫名
begin
在當前數據庫連接上啟動一個事務
1MySQL.begin(String point = "") async;
調用參數:
- point: String, 指定事務的名稱,缺省不指定
commit
提交當前數據庫連接上的事務
1MySQL.commit(String point = "") async;
調用參數:
- point: String, 指定事務的名稱,缺省不指定
rollback
回滾當前數據庫連接上的事務
1MySQL.rollback(String point = "") async;
調用參數:
- point: String, 指定事務的名稱,缺省不指定
trans
進入事務執行一個函數,並根據函數執行情況提交或者回滾
1Boolean MySQL.trans(Function func);
調用參數:
- func: Function, 以事務方式執行的函數
返回結果:
- Boolean, 返回事務是否提交,正常commit 時返回true, rollback 時返回false,如果事務出錯則拋出錯誤
func 執行有三種結果:
- 函數正常返回,包括運行結束和主動return,此時事務將自動提交
- 函數返回false,此時事務將回滾
- 函數運行錯誤,事務自動回滾
進入事務執行一個函數,並根據函數執行情況提交或者回滾
1
2Boolean MySQL.trans(String point,
Function func);
調用參數:
- point: String, 指定事務的名稱
- func: Function, 以事務方式執行的函數
返回結果:
- Boolean, 返回事務是否提交,正常commit 時返回true, rollback 時返回false,如果事務出錯則拋出錯誤
func 執行有三種結果:
- 函數正常返回,包括運行結束和主動return,此時事務將自動提交
- 函數返回false,此時事務將回滾
- 函數運行錯誤,事務自動回滾
execute
執行一個sql 命令,並返回執行結果
1NArray MySQL.execute(String sql) async;
調用參數:
- sql: String, 字符串
返回結果:
- NArray, 返回包含結果記錄的數組,如果請求是UPDATE 或者INSERT,返回結果還會包含affected 和insertId,mssql 不支持insertId。
執行一個sql 命令,並返回執行結果,可根據參數格式化字符串
1
2NArray MySQL.execute(String sql,
...args) async;
調用參數:
- sql: String, 格式化字符串,可選參數用? 指定。例如:'SELECT FROM TEST WHERE [id]=?'
- args: ..., 可選參數列表
返回結果:
- NArray, 返回包含結果記錄的數組,如果請求是UPDATE 或者INSERT,返回結果還會包含affected 和insertId,mssql 不支持insertId。
createTable
創建數據表
1MySQL.createTable(Object opts) async;
調用參數:
- opts: Object, 參數列表
dropTable
刪除數據表
1MySQL.dropTable(Object opts) async;
調用參數:
- opts: Object, 參數列表
createIndex
創建數據表索引
1MySQL.createIndex(Object opts) async;
調用參數:
- opts: Object, 參數列表
dropIndex
刪除數據表索引
1MySQL.dropIndex(Object opts) async;
調用參數:
- opts: Object, 參數列表
insert
插入新記錄
1Number MySQL.insert(Object opts) async;
調用參數:
- opts: Object, 參數列表
返回結果:
- Number, 返回包含插入的id,如果引擎不支持則返回 0
find
根據指定的條件查詢數據
1NArray MySQL.find(Object opts) async;
調用參數:
- opts: Object, 參數列表
返回結果:
- NArray, 返回包含結果記錄
count
根據指定的條件統計數據記錄數
1Integer MySQL.count(Object opts) async;
調用參數:
- opts: Object, 參數列表
返回結果:
- Integer, 返回包含結果記錄數
update
根據指定的條件更新數據
1Integer MySQL.update(Object opts) async;
調用參數:
- opts: Object, 參數列表
返回結果:
- Integer, 返回包含更新的記錄數
remove
根據指定的條件刪除數據
1Integer MySQL.remove(Object opts) async;
調用參數:
- opts: Object, 可選參數列表
返回結果:
- Integer, 返回包含更新的記錄數
format
格式化一個sql 命令,並返回格式化結果
1
2String MySQL.format(String method,
Object opts);
調用參數:
- method: String, 指定請求的方法
- opts: Object, 可選參數列表
返回結果:
- String, 返回格式化之後的sql 命令
格式化一個sql 命令,並返回格式化結果
1
2String MySQL.format(String sql,
...args);
調用參數:
- sql: String, 格式化字符串,可選參數用? 指定。例如:'SELECT FROM TEST WHERE [id]=?'
- args: ..., 可選參數列表
返回結果:
- String, 返回格式化之後的sql 命令
toString
返回對象的字符串表示,一般返回"[Native Object]",對象可以根據自己的特性重新實現
1String MySQL.toString();
返回結果:
- String, 返回對象的字符串表示
toJSON
返回對象的JSON 格式表示,一般返回對象定義的可讀屬性集合
1Value MySQL.toJSON(String key = "");
調用參數:
- key: String, 未使用
返回結果:
- Value, 返回包含可JSON 序列化的值