按照egg官网 写一个最简单的mysql查询接口(提前准备好mysql数据库)
    1、创建项目 安装依赖

    1. $ mkdir my-study-backend
    2. $ cd my-study-backend
    3. $ npm init
    4. $ npm i egg --save
    5. $ npm i egg-bin --save-dev
    6. $ npm i --save egg-mysql

    修改启动项

    1. "scripts": {
    2. "dev": "egg-bin dev"
    3. },

    2、在app目录下新建app/controller/users.js

    1. const Controller = require('egg').Controller;
    2. class UsersController extends Controller {
    3. async getUsers() {
    4. const { ctx } = this;
    5. ctx.body = 'hello world'
    6. }
    7. }
    8. module.exports = UsersController;

    3、在app目录下新建app/router.js

    1. module.exports = app => {
    2. const { router, controller } = app;
    3. router.get('/api/getUsers', controller.users.getUsers); // get('接口路径',controller内对应的方法)
    4. };

    4、在根目录下新建config/config.default.js

    1. module.exports = {
    2. keys: '123456790', // 随便写个Cookie 安全字符串
    3. };

    终端运行项目

    1. $ npm run dev

    此时打开浏览器访问接口就会显示hello world
    image.png
    5、在config目录下新建config/plugin.js 添加mysql配置

    1. module.exports = {
    2. mysql: {
    3. enable: true,
    4. package: 'egg-mysql',
    5. },
    6. };

    6、修改config/config.default.js 添加数据库账号密码

    1. module.exports = {
    2. keys: '123456790',
    3. mysql: {
    4. // 单数据库信息配置
    5. client: {
    6. // host
    7. host: '39.120.202.168',
    8. // 端口号
    9. port: '3306',
    10. // 用户名
    11. user: 'root',
    12. // 密码
    13. password: '123456',
    14. // 数据库名
    15. database: 'mystudy',
    16. },
    17. // 是否加载到 app 上,默认开启
    18. app: true,
    19. // 是否加载到 agent 上,默认关闭
    20. agent: false,
    21. }
    22. };

    并在数据库mystudy内添加一些数据
    image.png
    7、在app目录下新建app/service/users.js

    1. const Service = require('egg').Service;
    2. class UsersService extends Service {
    3. async getData() {
    4. const data = await this.app.mysql.query('SELECT * FROM user');
    5. return { data };
    6. }
    7. }
    8. module.exports = UsersService;

    8、修改app/controller/users.js

    1. const Controller = require('egg').Controller;
    2. class UsersController extends Controller {
    3. async getUsers() {
    4. const { ctx } = this;
    5. const res = await ctx.service.users.getData();
    6. ctx.body = {
    7. code: '200',
    8. data: res.data,
    9. message: 'success'
    10. };
    11. }
    12. }
    13. module.exports = UsersController;

    此时重新运行项目
    image.png
    成功获取到数据啦!