npm 包 @loopback/repository 使用教程

阅读时长 4 分钟读完

@loopback/repository 是一个 Node.js 的 npm 包,它为开发人员提供了一种简单而又高效的方法来操作数据库。通过这个库,开发者可以方便地使用 TypeScript 来建立先进的后端应用程序和 REST API。

安装和引入

安装:npm install --save @loopback/repository

引入:import {repository} from '@loopback/repository';

如何使用

下面是一些使用@loopback/repository的示例代码,包括模型定义、模型仓库以及一些基本的 CRUD 操作。

1. 定义模型

定义模型是使用@loopback/repository的第一步,通过@model注释,并使用@property装饰器定义模型的属性:

-- -------------------- ---- -------
------ -------- ------ --------- ---- -----------------------

--------
------ ----- ---- ------- ------ -
  -----------
    ----- ---------
    --- -----
  --
  ---- -------

  -----------
    ----- ---------
  --
  ------- -------

  -----------
    ----- ----------
    -------- ------
  --
  ------ --------
-
展开代码

上述代码中,我们定义了一个Todo模型,它包含三个属性(id,title和done)。

2. 定义模型仓库

模型仓库是将模型持久化到数据源的部分,因此我们需要为模型创建一个对应的存储库:

-- -------------------- ---- -------
------ ----------------------- ---- -----------------------
------ ------ -------------- ---- ------------
------ -------------- ---- -----------------
------ -------- ---- -----------------

------ ----- -------------- ------- ----------------------
  -----
  ------ ------------------
  -------------
- -
  ------------
    ------------------------- ----------- -------------
  - -
    ----------- ------------
  -
-
展开代码

上述代码中,我们使用@loopback/repository中的DefaultCrudRepository创建一个TodoRepository类,它继承自DefaultCrudRepository,以便对Todo模型执行CRUD操作。为了连接数据源,我们注入DbDataSource对象,它为模型提供持久化/连接设置。

3. 建立控制器

构建控制器需要使用@loopback/rest和我们创建的存储库:

-- -------------------- ---- -------
------ ------------ ---- -----------------------
------ ---------------- ---- ------------------
------ ------ ------------ ---- -----------------
------ ------ ---- ------------

------ ----- -------------- -
  ------------
    ---------------------------
    ------ -------------- - ---------------
  - --

  --------------
  ----- --------------------- ----- ------ ------------- -
    ------ ---------------------------------
  -
-
展开代码

上述代码中,我们定义了一个TodoController类,并使用@repository装饰器注入了TodoRepository。我们使用@post装饰器指定POST /todo路由,并使用@requestBody装饰器解析请求体,以便我们能够将发送到服务器的数据转换为Todo对象。最后,我们使用todoRepository.create方法将数据存储到数据库中。

总结

本文简要介绍了如何使用npm包@loopback/repository,它提供了一种使用TypeScript操作数据库的方式。通过本文提供的示例代码,读者应该能够了解如何定义模型、存储库和控制器,并执行基础的CRUD操作。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedab65b5cbfe1ea0610777

纠错
反馈

纠错反馈