一、簡述
MySQLthen 是一款基於 Promise 的 mysql 驅動庫。它的主要特點是非同步處理 mysql 流程,具有易用性和良好的性能。
二、快速入門
MySQLthen 的安裝非常簡單,在命令行中使用以下命令即可:
npm install mysqlthen
然後在項目中引用即可:
const mysql = require('mysqlthen');
const config = {
host: 'localhost',
user: 'root',
password: 'yourpassword',
database: 'yourdatabase'
};
const connection = mysql.createConnection(config);
接下來就可以愉快地使用了:
connection.query('SELECT * from users')
.then(results => {
console.log(results);
})
三、API
1. createConnection(config)
創建一個 mysql 連接。
參數:
config
(Object) – 連接配置,參考 mysql 連接參數
返回值:
connection
(Object) – mysql 連接實例
2. connect(connection)
建立 mysql 連接。
參數:
connection
(Object) – mysql 連接實例
3. query(connection, options)
執行 mysql 查詢。
參數:
connection
(Object) – mysql 連接實例options
(Object/Array) – 查詢選項,參考 mysql 查詢參數
返回值:
Promise
– 查詢結果
4. beginTransaction(connection)
開始事務。
參數:
connection
(Object) – mysql 連接實例
返回值:
Promise
– 事務對象
5. commit(transaction)
提交事務。
參數:
transaction
(Object) – 事務對象
6. rollback(transaction)
回滾事務。
參數:
transaction
(Object) – 事務對象
四、示例代碼
1. 創建連接並查詢數據
const mysql = require('mysqlthen');
const config = {
host: 'localhost',
user: 'root',
password: 'yourpassword',
database: 'yourdatabase'
};
const connection = mysql.createConnection(config);
connection.query('SELECT * from users')
.then(results => {
console.log(results);
});
2. 開啟事務並執行多個查詢
const mysql = require('mysqlthen');
const config = {
host: 'localhost',
user: 'root',
password: 'yourpassword',
database: 'yourdatabase'
};
const connection = mysql.createConnection(config);
mysql.beginTransaction(connection)
.then(transaction => {
return Promise.all([
mysql.query(connection, 'INSERT INTO users (name) VALUES ("Alice")'),
mysql.query(connection, 'INSERT INTO users (name) VALUES ("Bob")')
]).then(() => mysql.commit(transaction)).catch(err => mysql.rollback(transaction));
});
3. 多個連接並發查詢
const mysql = require('mysqlthen');
const config = {
host: 'localhost',
user: 'root',
password: 'yourpassword',
database: 'yourdatabase'
};
const connection1 = mysql.createConnection(config);
const connection2 = mysql.createConnection(config);
Promise.all([
connection1.query('SELECT * FROM table1'),
connection2.query('SELECT * FROM table2')
]).then(([results1, results2]) => {
console.log(results1, results2);
});
原創文章,作者:WNZXF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/370381.html