1、在 egg 項(xiàng)目中安裝 egg-mysql
npm i egg-mysql --save
2、在 {app_root}/config/plugin.js 中啟用 egg-mysql 插件:
'use strict';
/** @type Egg.EggPlugin */
module.exports = {
//mysql
mysql:{
enable:true,
package:'egg-mysql',
}
};
3拥坛、在配置文件中配置 mysql 數(shù)據(jù)庫連接地址 {app_root}/config/config.default.js
config.mysql={
//database configuration
client:{
//host
host:'localhost',
//port
port:'3306',
//username
user:'root',
//password
password:'123456',
//database
database:'test'
},
//load into app,default is open //加載到應(yīng)用程序埃儿,默認(rèn)為打開
app:true,
//load into agent,default is close //加載到代理中沙咏,默認(rèn)值為“關(guān)閉”
agent:false,
};
二、egg-mysql 的使用
1蒂破、get 查找一條
let result = await this.app.mysql.get("user",{id:1})
2、查找數(shù)據(jù)的另一種方式
let result = await this.app.mysql.select("user",{
where:{id:1}
})
3别渔、增加數(shù)據(jù)
let result = await this.app.mysql.insert("user",{username:"lisi",password:"1234"})
4附迷、修改數(shù)據(jù)的第一種方式:根據(jù)主鍵修改
let result = await this.app.mysql.update('user',{ id:2, username:'趙四' });
//修改數(shù)據(jù)的第二種方式:通過 sql 來修改數(shù)據(jù)
let results=await this.app.mysql.query('update user set username = ? where id = ?',["王五",2]);
5、刪除數(shù)據(jù)
let result= await this.app.mysql.delete('user',{ id:3 });
6哎媚、執(zhí)行 sql
this.app.mysql.query(sql,values);
7喇伯、mysql 事務(wù)
const conn=await this.app.mysql.beginTransaction();
try{
await conn.insert('user',{'username':'xiao1','password':'1111'});
await conn.update('user',{id:2,username:'黑子'});
await conn.commit(); //提交事務(wù)
}catch(err){
await conn.rollback();//回滾事務(wù)
throw err;
}