前端全栈第一课:用typeorm向数据库添加数据

1.安装

js 复制代码
npm install -g 

typeorm typeorm init --name typeorm-relation-mapping --database mysql

修改datasource文件

datasource上的内容来源于 docker上创建一个运行容器

可视化观看mysql

安装mysql的驱动包

js 复制代码
npm install --save mysql2

启动项目

js 复制代码
npm run start

进入mysql后你看到

数据来源于

2创建新的数据表

js 复制代码
 typeorm entity:create src/entity/UserIdCard

表结构 加入datasource

运行

js 复制代码
npm run start

3.如何让user和user-id-card表格相互链接

让user和user_id_card链接在一起,在myql客户端执行删除表格命令,然后通过typeorm重新创建表格。

js 复制代码
drop table `typeorm_test`.user_id_card,`typeorm_test`.user;

在idCard里面链接user

执行npm run start看看变化

多了一列叫userId 此时他们还不是联机的,需要你设置一下

删除两个表

js 复制代码
drop table `typeorm_test`.user_id_card,`typeorm_test`.user;

给两个表添加点数据

然后执行命令

js 复制代码
npm run start

user表 user-id-card表

我们发现user-id-card里面的user-id是user表里面的id,说明他们已经关联了。

4.将两个表的增删改都关联在一起

在entity里面配置

js 复制代码
  @OneToOne(() => User, {
    cascade: true,
    onUpdate: 'CASCADE',
    onDelete: 'CASCADE'
  })

设置后,把index.ts里面的User表的保存删掉

说明关联成功

5.关联查询

正常搜索不关联的时候长这样,只查出来2项

设置参数

js 复制代码
 {
    relations: {
      user: true
    }
  }

作为前端同学很多时候都会碰到这样的数据结构,它就是这么来的。

上面一直在说在user-id-card里面访问user,但是并没有说在user里面访问user-id-card,在user里面写入user-id-card

然后在index.ts里面

执行npm run start

每执行一次npm run start,就会创建一个typeorm对象,然后向数据库加一次数据。

相关推荐
军军君013 分钟前
Three.js基础功能学习七:加载器与管理器
开发语言·前端·javascript·学习·3d·threejs·三维
JarvanMo6 分钟前
情迷服务器驱动 UI:我在 Flutter 开发中的爱与哀愁
前端
tzy2338 分钟前
分享一个 HTTP(S) 代理&抓包工具,拦截和Mock Web客户端请求和服务端响应
前端·网络协议·http
代码小学僧14 分钟前
普通前端仔的 2025 : 年终总结与 AI 对我的影响
前端·程序员·ai编程
Mike_jia20 分钟前
TCP 粘包/拆包问题
前端
沐墨染27 分钟前
敏感词智能检索前端组件设计:树形组织过滤与多维数据分析
前端·javascript·vue.js·ui·数据挖掘·数据分析
Kagol29 分钟前
🎉TinyPro v1.4.0 正式发布:支持 Spring Boot、移动端适配、新增卡片列表和高级表单页面
前端·typescript·开源
李少兄30 分钟前
B/S 架构:现代 Web 应用的核心架构模式
前端·架构·b/s
鹏程十八少44 分钟前
破解Android悬浮窗遮挡无障碍服务难题:我在可见即可说上踩过的坑
android·前端·面试
Kapaseker1 小时前
前端已死...了吗
android·前端·javascript