一、简述
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/n/370381.html