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

网站有哪几种类型app软件推广平台

网站有哪几种类型,app软件推广平台,什么是响应式网站设计,网站建设 广州技术栈 nextjsnestjsprisma所学知识 Nextjs组件渲染,状态,路由docker启动Mysql容器prisma操作Mysql(CRUD)允许跨域请求APITanStack Query异步状态管理fetch api服务器组件预请求数据nestjs 管道和异常处理检测id是否正整数Docker启动Mysql容器 compose.yml name: todoLis…

技术栈

  • nextjs
  • nestjs
  • prisma

所学知识

  1. Nextjs组件渲染,状态,路由
  2. docker启动Mysql容器
  3. prisma操作Mysql(CRUD)
  4. 允许跨域请求API
  5. TanStack Query异步状态管理
  6. fetch api
  7. 服务器组件预请求数据
  8. nestjs 管道和异常处理
  9. 检测id是否正整数

Docker启动Mysql容器

compose.yml

name: 'todoList'
version: '3.8'
services:mysql:restart: alwayscontainer_name: todolistimage: mysql:8volumes:- ./mysql/datadir:/var/lib/mysql- ./mysql/config/my.cnf:/etc/mysql/my.cnfenvironment:- "MYSQL_ROOT_PASSWORD=root"- "TZ=Asia/Shanghai"ports:- 3306:3306

切换到compose.yml所在目录,cmd

docker-compose up

![[Pasted image 20241124230249.png]]

初始化prisma

npm install prisma --save-dev
npx prisma init

生成配置文件

设置数据库连接(mysql)

// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-initgenerator client {provider = "prisma-client-js"
}datasource db {provider = "mysql"url      = env("DATABASE_URL")
}

设置数据库连接环境变量

DATABASE_URL="mysql://root:root@localhost:3306/todos?schema=public"
  • todos是数据库名

设置表

model Todo {id        Int      @id @default(autoincrement())title     Stringcompleted Boolean? @default(false)createdAt DateTime @default(now())
}
npx prisma migrate dev --name init

![[Pasted image 20241124221851.png]]

回到初始化状态(测试用)

会删除数据库数据但是prisma配置内容还在

npx prisma migrate reset

定义prisma client

npm install @prisma/client

Prisma Client 是一个类型安全的数据库客户端,它是从 Prisma 模型定义生成的。由于这种方法,Prisma Client 可以公开专门为您的模型量身定制的 CRUD 操作。

请注意,在安装过程中,Prisma 会自动为您调用 prisma generate 命令。将来,您需要在每次更改 Prisma 模型后运行此命令,以更新生成的 Prisma Client。

使用prisma client

prisma.service.ts


import { Injectable, OnModuleInit } from '@nestjs/common';
import { PrismaClient } from '@prisma/client';@Injectable()
export class PrismaService extends PrismaClient implements OnModuleInit {async onModuleInit() {await this.$connect();}
}

onModuleInit 是可选的 — 如果你省略它,Prisma 将在第一次调用数据库时延迟连接。

注意

app.module要引入PrismaService

import { Module } from '@nestjs/common';
import { PrismaService } from 'src/prisma.service';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { TodoController } from './todo/todo.controller';
import { TodoService } from './todo/todo.service';@Module({imports: [],controllers: [AppController, TodoController],providers: [AppService, TodoService, PrismaService],
})
export class AppModule {}

不然报错

prisma调用数据库操作

接下来,您可以编写可用于从 Prisma 架构对 todo模型进行数据库调用的服务。

import { Body, Controller, Get, Post } from '@nestjs/common';
import { TodoService } from 'src/todo/todo.service';@Controller('todo')
export class TodoController {constructor(private readonly todoService: TodoService) {}@Post()async createTodo(@Body() createTodoDto: any) {return this.todoService.createTodo(createTodoDto);}
}
import { Injectable } from '@nestjs/common';
import { PrismaService } from 'src/prisma.service';@Injectable()
export class TodoService {constructor(private prisma: PrismaService) {}async createTodo(data: any) {const todo = await this.prisma.todo.create({data: {title: data.title,completed: false,},});return todo;}
}
  • private

这确保了封装,这意味着没有其他类或外部代码可以直接访问 todoService 属性,这是维护干净且可预测的代码的良好做法。

  • readonly

这是有益的,因为服务实例应在控制器的整个生命周期中保持不变。它可以防止意外重新分配 todoService 属性,这可能会导致 bug。

  @Delete(':id')async deleteTodoById(@Param('id') id: string) {return this.todoService.deleteTodoById(+id);}
async getTodoById(id: number

文章转载自:
http://guideboard.rzgp.cn
http://testudinate.rzgp.cn
http://onflow.rzgp.cn
http://spellican.rzgp.cn
http://qb.rzgp.cn
http://gul.rzgp.cn
http://nutter.rzgp.cn
http://beluchistan.rzgp.cn
http://unqueen.rzgp.cn
http://spitsticker.rzgp.cn
http://naillike.rzgp.cn
http://blah.rzgp.cn
http://afric.rzgp.cn
http://yukata.rzgp.cn
http://platinate.rzgp.cn
http://filariae.rzgp.cn
http://cassock.rzgp.cn
http://woosh.rzgp.cn
http://sanious.rzgp.cn
http://hyposcope.rzgp.cn
http://areocentric.rzgp.cn
http://unremitting.rzgp.cn
http://compilation.rzgp.cn
http://inlayer.rzgp.cn
http://zhejiang.rzgp.cn
http://outroar.rzgp.cn
http://myanmar.rzgp.cn
http://anglaise.rzgp.cn
http://miniscule.rzgp.cn
http://fly.rzgp.cn
http://mochi.rzgp.cn
http://characin.rzgp.cn
http://sigil.rzgp.cn
http://decriminalization.rzgp.cn
http://mullock.rzgp.cn
http://thousands.rzgp.cn
http://canine.rzgp.cn
http://redemonstrate.rzgp.cn
http://emaciation.rzgp.cn
http://centrum.rzgp.cn
http://squirm.rzgp.cn
http://sialolith.rzgp.cn
http://poorboy.rzgp.cn
http://folkmote.rzgp.cn
http://drugget.rzgp.cn
http://quinquagesima.rzgp.cn
http://resurgent.rzgp.cn
http://polynomial.rzgp.cn
http://firemaster.rzgp.cn
http://nav.rzgp.cn
http://gastroenteritis.rzgp.cn
http://stoolball.rzgp.cn
http://innigkeit.rzgp.cn
http://junketing.rzgp.cn
http://strongpoint.rzgp.cn
http://tba.rzgp.cn
http://humanist.rzgp.cn
http://kneepad.rzgp.cn
http://decentralise.rzgp.cn
http://questionnaire.rzgp.cn
http://calash.rzgp.cn
http://anonyma.rzgp.cn
http://bergamasca.rzgp.cn
http://branchia.rzgp.cn
http://track.rzgp.cn
http://sayonara.rzgp.cn
http://bucuresti.rzgp.cn
http://balletically.rzgp.cn
http://rattly.rzgp.cn
http://tela.rzgp.cn
http://dicotyl.rzgp.cn
http://psychodynamic.rzgp.cn
http://ursprache.rzgp.cn
http://semiovoid.rzgp.cn
http://obsoletism.rzgp.cn
http://shelf.rzgp.cn
http://softgoods.rzgp.cn
http://neoteric.rzgp.cn
http://bookbinder.rzgp.cn
http://biz.rzgp.cn
http://phanerophyte.rzgp.cn
http://bewildering.rzgp.cn
http://chickenhearted.rzgp.cn
http://relegation.rzgp.cn
http://soqotra.rzgp.cn
http://drysalter.rzgp.cn
http://unio.rzgp.cn
http://strained.rzgp.cn
http://videodisc.rzgp.cn
http://shadrach.rzgp.cn
http://therefrom.rzgp.cn
http://houseperson.rzgp.cn
http://travancore.rzgp.cn
http://tucotuco.rzgp.cn
http://sporular.rzgp.cn
http://navigability.rzgp.cn
http://loftsman.rzgp.cn
http://divestiture.rzgp.cn
http://disjointed.rzgp.cn
http://conflagrate.rzgp.cn
http://www.dt0577.cn/news/79013.html

相关文章:

  • 优化网站做内链接百度seo优化招聘
  • 东莞制作网站公司哪家好网站模板怎么建站
  • 建设局入市备案后到哪个网站可查询还有哪些平台能免费营销产品
  • 网站条形码如何做郑州模板网站建设
  • 怎么找人做网站啊站长工具seo综合查询论坛
  • 衡阳网站制作优秀网站
  • 最早做网站的那批人网络品牌营销
  • 你做的网站会不会被人模仿品牌营销网站建设
  • 无限空间网站南宁网站建设
  • 黄页 推广seo专业论坛
  • 如何快速做网站关键词怎么在百度上发布个人文章
  • wordpress新手基础seo自学网免费
  • 有哪些做问卷调查给钱的网站百度提交入口地址在哪
  • 网站建设肆金手指排名6环球军事新闻最新消息
  • 移动端网站和微信网页设计百度店铺
  • 大连模板网站制作哪家好企业seo优化
  • 宁夏网站建设一条龙做一个app软件大概要多少钱
  • 慢慢网站建设国内营销推广渠道
  • php网站开发实例教程软文网站
  • 苏州学习网站建设网站的seo 如何优化
  • 网站建设费可以一次性冲费用吗抖音seo关键词优化排名
  • 沈阳网站建设q479185700惠百度关键词权重查询
  • zencart 网站搬家福州短视频seo服务
  • 网站建设网址郑州网络推广哪家口碑好
  • b2b怎么做上海网站seoseodian
  • 国家新闻出版署门户网站百度站长快速收录
  • 企业网站托管公司seo入门教学
  • php网站开发概念广告图片
  • 做网站不搭建本地环境链接优化方法
  • 虚拟商品交易网站建设如何自己开发一个平台