import{InjectModel }from'@nestjs/sequelize';
import{User }from'./user.model';
@Injectable
exportclassUserService{
constructor(
@InjectModel(User)
privateuserModel:typeofUser,
){}
// 创建新数据
asynccreate(user:User){
constnewUser =awaitthis.userModel.create(user);
returnnewUser;
}
// 查找所有数据
asyncfindAll{
returnthis.userModel.findAll;
}
// 按要求查找单个
asyncfindOne(id:string){
returnthis.userModel.findOne({where:{id }});
}
// 按要求更新
asyncupdate(id:string,user:User){
awaitthis.userModel.update(user,{where:{id }});
returnthis.userModel.findOne({where:{id }});
}
// 按要求删除
asyncdelete(id:string){
constuser =awaitthis.userModel.findOne({where:{id }});
awaituser.destroy;
}
}
Tips: 进行删除的时候,我们可以进行假删除,两个数据库,一个是备份数据库 , 一个是主数据库 。主数据库可以直接删除或者增加标识表示删除 。备份数据库,可以不用删除只写入和更新操作,这样可以进行数据还原操作 。
此外,为了防止 SQL 数据库注入 , 大家需要对数据来源进行统一校验处理或者直接进行 encode 处理,对于重要数据可以直接进行 MD5 加密处理,防止数据库被直接下载泄露 。关于 SQL 数据库的安全处理,网上教程有很多 , 大家找一找就可以啦~
部署就比较简单了,我们就不需要一一赘述了,数据库可以用集团提供的云数据库,而 Nest 就是普通的 node 部署 。
【我在前端写Java SpringBoot项目】
推荐阅读
- MySQL 5.7废止了?我们暂无计划
- AI不缺概念,甚至不缺技术,但实在缺产品
- Java中,对象一定在堆中分配吗?
- 用IntelliJ IDEA进行前端开发
- MPLS静态配置新手必看!
- 永久不过时的3个追女生套路
- 现在的城镇职工养老保险,还能够一次性补缴15年的费用吗?
- 没得选,游戏进入“开挂”时代
- 为什么中国的白酒在国外火不起来?老外说出原因,让国人感同身受
- 白酒度数越高就越容易辣喉吗?