当前位置: 首页 > news >正文

网站链接太多怎么做网站地图山东省城乡住房和建设厅网站

网站链接太多怎么做网站地图,山东省城乡住房和建设厅网站,建站网站排行,网站免费个人空间申请经过前面的几篇文章#xff0c;想必大家已经对nestjs有了基础的了解#xff0c;那么这篇文章就带大家玩玩数据库#xff0c;学会了这篇#xff0c;就离大前端又进了一步 Nest与数据库无关#xff0c;使你可以轻松地与任何 SQL 或 NoSQL 数据库集成。 根据你的喜好#xf…经过前面的几篇文章想必大家已经对nestjs有了基础的了解那么这篇文章就带大家玩玩数据库学会了这篇就离大前端又进了一步 Nest与数据库无关使你可以轻松地与任何 SQL 或 NoSQL 数据库集成。 根据你的喜好你有多种选择。 在最一般的层面上将 Nest 连接到数据库只是为数据库加载适当的 Node.js 驱动程序的问题下面我们就学习下如何整合mysql数据库 为了与 SQL 和 NoSQL 数据库集成Nest 提供了 nestjs/typeorm 包。 TypeORM 是可用于 TypeScript 的最成熟的对象关系映射器 (ORM)。 由于它是用 TypeScript 编写的因此可以很好地与 Nest 框架集成。 依赖的安装 npm install --save nestjs/typeorm typeorm mysql2安装完成后我们在app.module.ts中引入mysql的配置 import { Module } from nestjs/common; import { TypeOrmModule } from nestjs/typeorm;Module({imports: [TypeOrmModule.forRoot({type: mysql,host: localhost,port: 3306,username: root, //改成自己账户password: root, //改成自己密码database: test, //改成自己的数据库entities: [],synchronize: true,}),], }) export class AppModule {} 创建实体类 这里的实体类就是java中的bean对象了解java的不陌生那么我们如何在这里定义呢 user.entity.ts import { Column, Entity, PrimaryGeneratedColumn } from typeorm;Entity() export class newUser{PrimaryGeneratedColumn()id:numberColumn(varchar,{length:8})firstNameColumn()lastName:stringColumn()age:number} 创建user模块 users.module.ts import { Module } from nestjs/common; import { TypeOrmModule } from nestjs/typeorm; import { newUser } from ./user.entity; import { UsersController } from ./users.controllers; import { UsersService } from ./users.service;Module({imports:[TypeOrmModule.forFeature([newUser])], //引入了user实体providers:[UsersService],controllers:[UsersController] }) export class UsersModule {}创建provider服务 import { Injectable } from nestjs/common; import { InjectRepository } from nestjs/typeorm; import { newUser } from ./user.entity; import { DeleteResult, Repository } from typeorm;Injectable() export class UsersService{constructor(InjectRepository(newUser) private usersRepository:RepositorynewUser){}//待完善的一系列操作数据库的方法 }创建controller服务 import { Body, Controller, Delete, Get, Param, Post } from nestjs/common; import { UsersService } from ./users.service; import { User } from ./interface/users.interface;Controller(users) export class UsersController{constructor(private usersService:UsersService){}Get()getAllUsers(){return this.usersService.findAll()}Get(/:id)getUserById(Param(id) id:number){return this.usersService.getUserById(id)}Delete(/:id)deleteById(Param(id) id:number){return this.usersService.remove(id)}Post()addUserData(Body() user:User){console.log(user,add)return this.usersService.addUser(user)} }至此创建文件就结束了此时我们可以到数据库看到多了一张表new_user 接下来我们就来进行数据的crud 增删改查 业务代码我们要写在service文件中 查 findAll():PromisenewUser[]{return this.usersRepository.find(); }如果里面没有任何数据那么返回的就是空这里我已经增加了相关数据所以会有返回结果 增 async addUser(user:newUser):Promisestring{/*** 数据库里面找不到这个数据才新增*/const isNotExist (await this.usersRepository.find()).every(item item.firstName ! user.firstName item.lastName ! user.lastName)if(isNotExist){await this.usersRepository.save(user)console.log( ~ file: users.service.ts:28 ~ UsersService ~ addUser ~ data:,ok)return ok}else{return 不允许重复添加数据}}这里是post请求我们需要借助postman等来进行操作 非常好我们成功新增了一条数据… 那如果我们增加一条已经存在的数据那结果会怎样呢我们可以试试因为我这里是不允许重名的所以无法新增成功重名会报错大家可以根据自己的实际业务需求进行操作 再次添加白眉鹰王返回提示重复数据库也没变化 删 async remove(id:number):Promisenumber{const data await this.usersRepository.delete(id)console.log(data,delete-data)return data.affected; }根据id删了id为6的白眉再次查询数据库就少了这条数据,删除成功!!! 完整的代码如下 import { Injectable } from nestjs/common; import { InjectRepository } from nestjs/typeorm; import { newUser } from ./user.entity; import { DeleteResult, Repository } from typeorm;Injectable() export class UsersService{constructor(InjectRepository(newUser) private usersRepository:RepositorynewUser){}findAll():PromisenewUser[]{return this.usersRepository.find();}getUserById(id:number):PromisenewUser | null{return this.usersRepository.findOneBy({id})}async remove(id:number):Promisenumber{const data await this.usersRepository.delete(id)console.log(data,delete-data)return data.affected;}async addUser(user:newUser):Promisestring{/*** 数据库里面找不到这个数据才新增*/const isNotExist (await this.usersRepository.find()).every(item item.firstName ! user.firstName item.lastName ! user.lastName)if(isNotExist){await this.usersRepository.save(user)console.log( ~ file: users.service.ts:28 ~ UsersService ~ addUser ~ data:,ok)return ok}else{return 不允许重复添加数据}} }这样我们就实现了nestjs整合mysql数据库实现数据crud了以后再也不用让求着让后端帮忙改接口了… 更多后续精彩内容请关注本系列的动态
http://www.zqtcl.cn/news/879554/

相关文章:

  • 做网站除了广告还有什么收入的中国计算机技术职业资格网
  • 陕西建设银行网站查排名的软件有哪些
  • 企业网站备案教程北京专业做网站的
  • 音乐网站如何建设的如何做学校网站
  • 济南比较好的网站开发公司个人注册网站怎么注册
  • 济南高端网站设计策划图书馆网站建设情况汇报
  • 知识付费网站建设做网站源码
  • php网站开发实训报告书怎么做兼职类网站吗
  • 建设银行u盾用网站打不开中企动力值不值得入职
  • 织梦做的网站有点慢商贸网站
  • 海外红酒网站建设wordpress 分类 文章
  • 七星彩网站建设wordpress w3
  • 广州网站建设全包百度怎么优化关键词排名
  • 中山网站制作服务公司做环评的网站
  • 江山市住房和城乡建设局网站iis部署网站 错误400
  • 网站域名如何备案建设厅公积金中心网站
  • 网站怎么建设?电子商务网站开发相关技术
  • 苏州网站设计公司济南兴田德润厉害吗python基础教程第3版
  • 网站多久备案一次电子商务平台信息系统建设
  • 网站开发方面的文献自己怎么建个免费网站吗
  • 建设网站前的市场分析百度竞价推广是什么
  • 专门做照片书的网站阳谷聊城网站优化
  • 国际贸易相关网站网站建设的目标与思路
  • 小型网站建设费用云南网站建设企业推荐
  • 设备租赁业务网站如何做看板娘 wordpress
  • 上海网站设计工作室二手交易网站建设目标
  • 深圳智能响应网站建设平面设计基础教程
  • 网站建设 推广全流程案例分析网站
  • 企业建网站多少钱怎样做网站挣钱
  • 经营性质的网站asp.ne做网站