21. Egg.js教程-Egg.js 操作 MySql 数据库
本文主要学习一下 Egg.js 通过 egg-mysql 插件,如何操作数据库。我们讲过操作数据库的过程应该都在service里进行。
学习前的准备页面和相关方法
在/service文件夹下面,新建一个文件testdb.js文件,专门用于操作数据库。在文件中编写下面的方法。方法分别代表增、删、改、查。
"use strict";
const Service = require("egg").Service;
class testdbService extends Service {
// 添加数据库
async addGirl() {}
// 删除数据库
async delGirl() {}
// 修改数据库
async updateGirl() {}
// 查询数据库
async getGirls(id) {}
}
module.exports = testdbService;
写完之后在/controller文件夹下面新增一个控制器 girlsManage.js 文件,是对女孩的管理。
"use strict";
const Controller = require("egg").Controller;
class GirlManage extends Controller {
async addGirl() {
const { ctx } = this;
ctx.body = "添加女孩";
}
async delGirl() {
const { ctx } = this;
ctx.body = "删除女孩";
}
async updateGirl() {
const { ctx } = this;
ctx.body = "修改女孩";
}
async getGirls() {
const { ctx } = this;
ctx.body = "查询女孩";
}
}
module.exports = GirlManage;
配置相关路由,这里我们全部使用get请求方式,在router.js文件下加入下面的代码。
router.get("/addGirl", controller.girlManage.addGirl);
router.get("/delGirl", controller.girlManage.delGirl);
router.get("/updateGirl", controller.girlManage.updateGirl);
router.get("/getGirls", controller.girlManage.getGirls);
然后打开终端,开启服务,然后打开浏览器,输入地址,查看写的方法是否可用http://127.0.0.1:7001/addGirl 。
查询方法的编写
我们先来学习一个最简单的方法,就是查询方法。进入/servic/testdb.js文件下的getGirls()方法。然后编写代码。
// 查询数据库
async getGirl(id){
try{
const app = this.app;
const res= await app.mysql.select('girls');
return res
}catch(error){
console.log(error);
return null;
}
}
写完代码以后,再编写/controller/girlManage.js文件下的getGirls()方法。
async getGirls() {
const { ctx } = this;
const res = await ctx.service.testdb.getGirl();
ctx.body = '查询女孩:'+JSON.stringify(res);
}
添加数据操作
打开/app/service/testdb.js文件,在addGirl() 方法下,编写下面的代码。这里插入使用的insert()方法。
// 添加数据库
async addGirl(params){
try {
const { app } = this;
const res = await app.mysql.insert('girls',params);
return res;
} catch (error) {
console.log(error);
return null;
}
}
insert( ) 方法接收两个参数,第一个参数是表名称,第二个参数是插入到表里的值。
然后再到/app/controller/girlManage.js文件里addGirl()方法里编写代码。
async addGirl() {
const { ctx } = this;
const params = {
name:'小白',
age:18,
skill:'头疗'
}
const res = await ctx.service.testdb.addGirl(params);
ctx.body = '添加女孩-成功!';
}
写完之后打开终端,运行npm run dev开启服务,然后在浏览器中输入http://127.0.0.1/addGirl就可以看到结果了。再打开Navicat for MySQL查看数据表的内容。如果没有任何错误,应该是可以顺利添加成功的。
修改数据操作
学会了添加,我们再来看一下如何来修改数据。打开/app/service/testdb.js文件,在updateGirl()方法中编写代码。
// 修改数据库
async updateGirl(params){
try {
const { app } = this;
const res= await app.mysql.update('girls',params);
return res;
} catch (error) {
console.log(error);
return null;
}
}
然后再到/app/controller/girlManage.js文件中的updateGirl()方法中。编写代码如下:
async updateGirl() {
const { ctx } = this;
const params = {
id:3,
name:'小白',
age:20,
skill:'头疗'
}
const res = await ctx.service.testdb.updateGirl(params);
if(res){
ctx.body = '修改女孩-成功';
}else{
ctx.body = '修改失败';
}
}
写完以后,就可以到浏览器中访问http://127.0.0.1/updateGirl。
删除数据操作
最后我们再看一下如何删除数据。还是到/app/service/testdb.js文件下的delGirl()方法。编写下面的代码:
// 删除数据库
async delGirl(id){
try {
const { app } = this;
const res = await app.mysql.delete('girls',id);
return res;
} catch (error) {
console.log(error);
return null;
}
}
然后再到controller里边,进行编写delGirl()方法。
async delGirl() {
const { ctx } = this;
const id={"id":3};
const res = await ctx.service.testdb.delGirl(id);
console.log(res);
if(res){
ctx.body = '删除女孩-成功';
}else{
ctx.body = '删除失败';
}
}
写好后,我们到浏览器里访问http://127.0.0.1/delGirl就可以了。
以上就是我们对数据库进行增删改查操作了。
到此为止,这就是本套 Egg.js 教程的全部内容了,当然这只是基础教程,以后我还会用 Egg.js 作为后台代码,Vue 作为前端代码,做一个博客系统,请你持续关注码云笔记前端教程。
以上关于21. Egg.js教程-Egg.js 操作 MySql 数据库的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 21. Egg.js教程-Egg.js 操作 MySql 数据库

微信
支付宝