Egg.js是一個(gè)基于Node.js的企業(yè)級(jí)應(yīng)用框架,它幫助我們快速構(gòu)建可靠、可擴(kuò)展的Web應(yīng)用程序。Egg.js提供了開(kāi)箱即用的插件系統(tǒng),其中之一便是和MySQL進(jìn)行交互的插件 egg-mysql。
使用 egg-mysql 插件,我們可以輕松地在Egg.js應(yīng)用中連接 MySQL 數(shù)據(jù)庫(kù),進(jìn)行查詢、修改等操作。
/**
* app/service/user.js
*/
const Service = require('egg').Service;
class UserService extends Service {
async getUserList() {
const { app } = this;
const result = await app.mysql.select('users');
return result;
}
async addUser(username, password) {
const { app } = this;
const result = await app.mysql.insert('users', {
username,
password,
});
return result.affectedRows === 1;
}
async updateUser(id, password) {
const { app } = this;
const result = await app.mysql.update('users', {
password,
id,
});
return result.affectedRows === 1;
}
async deleteUser(id) {
const { app } = this;
const result = await app.mysql.delete('users', { id });
return result.affectedRows === 1;
}
}
module.exports = UserService;
上面的代碼是一個(gè)UserService,其中包括了一些數(shù)據(jù)庫(kù)操作的方法。我們可以通過(guò) Egg.js 的 Context 對(duì)象訪問(wèn)具有以下屬性的數(shù)據(jù)庫(kù)實(shí)例:
- query - 執(zhí)行 SQL 查詢
- beginTransaction - 開(kāi)始一個(gè)事務(wù)
- commit - 提交一個(gè)事務(wù)
- rollback - 回滾一個(gè)事務(wù)
- insert - 執(zhí)行插入操作
- update - 執(zhí)行更新操作
- delete - 執(zhí)行刪除操作
- select - 執(zhí)行查詢操作
以上是 Egg.js 結(jié)合 MySQL 數(shù)據(jù)庫(kù)的基本介紹及例子,接下來(lái)請(qǐng)你在實(shí)際應(yīng)用中不斷練習(xí),多查閱官方文檔和寫作實(shí)踐。祝你寫作愉快!