deno连接mysql数据库

发布时间:2024-09-20 12:01

准备工作

  1. deno环境
  2. denoDB(专门用于连接多种数据库的一个deno第三方拓展库)

前言

关于deno的第三方拓展包可以在deno的官网里面找到\"deno连接mysql数据库_第1张图片\"
然后直接搜你想要的关键词,如果找得到你想要的第三方依赖包,就直接拿下来就好了。
比如我们今天是主角是denoDB
\"deno连接mysql数据库_第2张图片\"
点进去就能看开发文档啥的了。方便点我就直接写成例子出来供大家参考学习了。希望能为deno的生态奉献自己一点微薄的力量。

开始

既然我们要连接数据库进行操作,那我们就现在本地随便建一张测试表吧。
如果你们懒得自己建表测试就用这个吧

CREATE TABLE `deno_study`.`stu_user`  (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NULL,
  PRIMARY KEY (`id`)
);

insert into stu_user(name) values (\'小蓝\'),(\'小黑\'),(\'小红\');

然后我们的目标就是查出这(‘小蓝’),(‘小黑’),(‘小红’)这三个名字。
\"deno连接mysql数据库_第3张图片\"
然后我们的代码会使用typescript进行编写
我将会把功能给一块一块的分开编写,便于代码阅读

编写代码连接数据库

sqlConnect.ts

// 这是deno导入第三方依赖的其中一种方式
import { MySQLConnector, Database } from \'https://deno.land/x/denodb/mod.ts\'

// 这个Database类里面封装了许多操作数据库的方法
export default new Database(new MySQLConnector({
  // 数据库地址
  host: \'localhost\',
  // 数据库端口
  port: 3306,
  // 数据库账号
  username: \'root\',
  // 数据库密码
  password: \'root\',
  // 要连接的数据库名称,我本地这边建的这个数据库的名称为deno_study
  database: \'deno_study\'
}))

编写好数据库连接代码后暴露出去等待使用

编写数据库模型

说到数据库表模型,我想各位应该都知道是什么东西。
我自己对数据库表模型的概念就是把一个数据库的某张表给造成一个实体类。
userModel.ts

// 还是同样的导入方式
import { Model, DataTypes } from \'https://deno.land/x/denodb/mod.ts\'

// 编写数据库用户表的模型
class UserModel extends Model{
  // 对应的表
  static table = \'stu_user\'
  // 对应的数据库的字段
  static fields = {
    // 这是stu_user表的主键,也是第一列
    id: {
      // 是否为主键
      primaryKey: true,
      // 是否会自动递增序号
      autoIncrement: true
    },
    // 这是第二列,后面对应的是数据类型, 我在表里面是varchar, 所以我使用了string类型
    name: DataTypes.STRING
  }
}

export default UserModel

编写代码查询数据

index.ts

// 连接数据库的那个模块
import sql from \'./src/config/sqlConnect.ts\'

// 用户模型的模块
import UserModel from \'./src/model/userModel.ts\'

// 使用link函数连接用户模型
sql.link([UserModel])

// 读数据库内容
console.log(await UserModel.select().all())

sql.close()

当我们写完代码之后
直接在控制台输入
deno run index.ts
\"deno连接mysql数据库_第4张图片\"

我们就完成啦。
还有就是,这个denoDB的数据库操作方法是链式操作的,写起来好像php的laravel框架的数据库操作方式,所以写起来会很爽的,各位抓紧取体验一下吧。
这篇博客的内容就到这里啦。谢谢各位观看啦。路过的可以点个小赞吗。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号