什么是 ORM?
ORM(Object-Relational Mapping)是一种编程技术,用于将关系型数据库中的数据映射到面向对象编程语言中的对象。这种技术使得开发人员可以使用面向对象的方式来操作数据库,而不用直接编写 SQL 命令。
Deno ORM
Deno 是一个新兴的 JavaScript 运行时环境,它的目标是提供一个安全、稳定的运行环境,以及支持 TypeScript 的功能。Deno ORM 是一个 Deno 项目中使用的 ORM 框架,它提供了一种简单、易用的方式来访问数据库。
安装 Deno ORM
要使用 Deno ORM,需要首先安装 Deno。可以从 https://deno.land/ 下载安装包并安装 Deno。
安装完 Deno 后,可以使用以下命令安装 Deno ORM:
deno install --allow-net --allow-read --allow-write --allow-plugin --unstable https://deno.land/x/denodb/cli.ts
这个命令将安装 Deno ORM 的命令行工具,以及必要的依赖项。
连接到数据库
要使用 Deno ORM,需要先连接到数据库。可以使用以下代码连接到 MySQL 数据库:
import { Database } from "https://deno.land/x/denodb/mod.ts"; const db = new Database("mysql", { host: "localhost", username: "root", password: "password", database: "test", });
这个代码片段将创建一个名为 db
的数据库连接对象,该对象连接到本地的 MySQL 数据库,并使用用户名和密码进行身份验证。
定义模型
在 Deno ORM 中,模型是表示数据库表的类。可以使用以下代码定义一个名为 User
的模型:
// javascriptcn.com 代码示例 import { Model, DataTypes } from "https://deno.land/x/denodb/mod.ts"; class User extends Model { static table = "users"; static timestamps = true; static fields = { id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true }, name: DataTypes.STRING, email: DataTypes.STRING, password: DataTypes.STRING, }; } db.link([User]); await db.sync();
这个代码片段将创建一个名为 User
的模型,并将其链接到先前创建的 db
数据库连接对象。这个模型表示一个名为 users
的表,它具有 id
、name
、email
和 password
四个字段。其中 id
是主键,并且自动递增。
查询数据
要查询数据库中的数据,可以使用以下代码:
const users = await User.select("*").all(); console.log(users);
这个代码片段将查询 users
表中的所有数据,并将结果打印到控制台。
插入数据
要向数据库中插入数据,可以使用以下代码:
const user = new User(); user.name = "John"; user.email = "john@example.com"; user.password = "password"; await user.save();
这个代码片段将创建一个新的 User
对象,并将其保存到数据库中。
更新数据
要更新数据库中的数据,可以使用以下代码:
const user = await User.where("name", "John").first(); user.name = "Jack"; await user.save();
这个代码片段将查询名为 John
的用户,并将其名称更改为 Jack
。
删除数据
要从数据库中删除数据,可以使用以下代码:
const user = await User.where("name", "Jack").first(); await user.delete();
这个代码片段将查询名为 Jack
的用户,并将其从数据库中删除。
总结
Deno ORM 提供了一种简单、易用的方式来访问数据库。通过连接到数据库、定义模型、查询、插入、更新和删除数据,开发人员可以轻松地使用 Deno ORM 在 Deno 项目中使用 ORM。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65587e16d2f5e1655d2ac062