返回

从零开始在Egg中做CRUD操作

前端

使用 Egg.js 框架进行 CRUD 操作的全面指南

在现代软件开发中,数据库操作是必不可少的。在本文中,我们将深入探讨使用 Egg.js 框架进行 CRUD(创建、读取、更新和删除)操作的最佳实践。我们将详细介绍从环境准备到模型和服务创建的各个步骤。通过遵循本指南,您可以轻松地掌握 Egg.js 中的 CRUD 操作。

环境准备

在开始之前,确保已安装以下软件:

  • Node.js
  • npm
  • Egg.js

创建 Egg.js 项目

使用以下命令创建一个新的 Egg.js 项目:

mkdir my-egg-project
cd my-egg-project
npm init egg

安装必需的依赖项

要使用 MySQL 数据库,需要安装 mysql2 依赖项:

npm install mysql2

创建数据库和表

在您的数据库中创建一个名为 users 的表,并包含以下字段:

  • id:主键,自动递增
  • name:用户名
  • age:用户年龄

创建模型

app/model/user.js 文件中创建以下模型:

module.exports = app => {
  const { INTEGER, STRING } = app.Sequelize;

  const User = app.model.define('user', {
    id: {
      type: INTEGER,
      primaryKey: true,
      autoIncrement: true
    },
    name: {
      type: STRING(255),
      allowNull: false
    },
    age: {
      type: INTEGER,
      allowNull: false
    }
  });

  return User;
};

创建服务

app/service/user.js 文件中创建以下服务:

module.exports = app => {
  const User = app.model.User;

  return class UserService extends app.Service {
    async queryUserName(name) {
      return await User.findOne({
        where: {
          name
        }
      });
    }

    async insertUser(name, age) {
      return await User.create({
        name,
        age
      });
    }
  };
};

使用服务

在控制器中,使用 user 服务执行 CRUD 操作:

查询用户名

const UserService = require('../service/user');

module.exports = app => {
  const userService = new UserService(app);

  app.get('/user/name/:name', async (ctx) => {
    const result = await userService.queryUserName(ctx.params.name);

    ctx.body = result;
  });
};

插入用户信息

const UserService = require('../service/user');

module.exports = app => {
  const userService = new UserService(app);

  app.post('/user', async (ctx) => {
    const result = await userService.insertUser(ctx.request.body.name, ctx.request.body.age);

    ctx.body = result;
  });
};

总结

通过遵循本指南,您可以轻松地使用 Egg.js 框架进行 CRUD 操作。理解环境设置、模型、服务和控制器的作用对于有效地执行数据库操作至关重要。我们鼓励您尝试本指南中的示例,并将其应用到您的项目中,以加强您的 Egg.js 技能。

常见问题解答

  1. 什么是 Egg.js?
    Egg.js 是一个用于开发高性能 Node.js 应用程序的框架。

  2. 为什么使用 Egg.js 进行 CRUD 操作?
    Egg.js 提供了便捷的语法和高效的 ORM 工具,简化了 CRUD 操作。

  3. 如何安装 Egg.js?
    使用 npm install egg -g 命令安装 Egg.js。

  4. 如何连接到数据库?
    使用 app.model.define 方法连接到数据库并定义模型。

  5. 什么是服务?
    服务是用于封装业务逻辑和与模型交互的类。