传奇私服发布网_新开传奇网站发布_最全优秀单职业传奇私服发布平台_www.sf999.Com
新开传奇私服网站专注于服务广大新开传奇首区和复古传奇私服玩家,我们承诺全年无休,每天为您提供最新的新开传奇网站和传奇sf999信息。...
2025-01-03
上一章节我们已经完成了项目所需依赖的基本框架搭建,本章将开始进入业务。
一、创建Model
我们通过模型和数据库关联,在应用中的模型就是数据库表,在 中,模型是和实体绑定的,每一个实体() 文件,即是 Model,也是实体()。
1、创建,添加实体模型装饰器
在 model 目录下创建 .ts 文件,要注意,这里的实体文件的每一个属性,其实是和数据库表一一对应的,基于现有的数据库表进行定义。
我们使用 来定义一个实体模型类,完成后,会自动创建一张表,表名为 参数,此处为 ''
通过 提供的 @ 装饰器来修饰属性,每一个属性对应一个列
注意,这里的 是 做了封装的特殊装饰器,为了和 更好的结合使用。请不要直接使用 中的
(1)您可以通过在 @装饰器中显式指定列类型来使用数据库支持的任何列类型,具体可查看 文档。
(2)要使列成为主键,您需要使用 @
(3)设置自增的 id 列,需要将 @ 装饰器更改为 @mn 装饰器
import { EntityModel } from '@midwayjs/orm'
import { Column, PrimaryGeneratedColumn, UpdateDateColumn, CreateDateColumn } from 'typeorm'
@EntityModel('t_user')
export class UserModel{
@PrimaryGeneratedColumn()
id : number
@Column()
name: string
@Column()
password: string
@Column()
email: string
@Column()
phone: number
@Column()
identity: number
@Column()
nickname: string
@Column()
age: number
@Column()
avatar: string
@CreateDateColumn({type:'timestamp'})
createTime: Date
@UpdateDateColumn()
updateTime: Date
}
二、创建,实例化Model,进行数据库操作
在 中,使用 @ 装饰器注入我们配置好的 Model。
在 目录下创建 .ts,实现用户新增、查询功能
//service/userService.ts
import { Provide } from '@midwayjs/decorator';
import { InjectEntityModel } from '@midwayjs/orm';
import { Repository } from 'typeorm';
import { IUserData, IUserService } from '../interface';
import { UserModel } from '../model/userModel';
@Provide('userService')
export class UserService implements IUserService {
// //注入userModel
@InjectEntityModel(UserModel)
userModel:Repository<UserModel>
/**
* @description save user info(create)
* @param {IUserData} data userData
*/
public async saveUser(data: IUserData){
try {
let user = new UserModel();
user.name = data.name;
user.nickname = data.nickname;
user.password = data.password;
user.phone = data.phone;
user.age = data.age || 0;
user.avatar = data.avatar || '';
user.email = data.email;
user.identity =data.identity || 0;
const result = await this.userModel.save(user)
return result.id
} catch (error) {
console.log(error)
}
}
/**
* @description query all user info
*/
public async findAllUserInfo(){
try {
const result = await this.userModel.find();
return result
} catch (error) {
}
}
/**
* @description query user info by userId
* @param {Number} id userId
*/
public async findUserById(id: number){
try {
const result = await this.userModel.findOne({
id: id
})
return result
} catch (error) {
}
}
/**
* @description query user info by user name
* @param {String} name user name
*/
public async findUserByName(name: string){
try {
const result = await this.userModel.findOne({
name: name
})
return result
} catch (error) {
}
}
}
至此,关于数据库操作流程基本完毕,更多数据库操作可查看 () · 语雀, 下章节将进行层编写,定义相关接口,调用进行数据操作。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,请告知我们,本站将立刻删除涉嫌侵权内容。
相关文章
新开传奇私服网站专注于服务广大新开传奇首区和复古传奇私服玩家,我们承诺全年无休,每天为您提供最新的新开传奇网站和传奇sf999信息。...
2025-01-03
明确否认him存在,但是我们可以从一些蛛丝马迹中发现官方有说谎的可能性。就有细心的玩家,从这五个地方观察到了him存在,总共4个证据。...
2025-01-03
8条回答:【推荐答案】主公莫慌(手游)-新手奖励1.序列号:gsaq6617(官方)固定唯一,可重复激活无数新账号。2.奖励:3000绿钻,1000将魂,1紫将...
2025-01-03
网盘提取码: xawy帝国cms内核仿《新趣头条》娱乐游戏资讯网站源码,适合做电竞,娱乐,评测类的站点。利用模板改改可以轻松完成1个站点。不带安装教程...
2025-01-03
热评文章
2022年专属火龙之神途新版
1.80龙神合击传奇
1.76永恒小极品+5复古传奇
1.76双倍魔天大极品第三季单职业
1.76神梦传奇三职业
1.80聖统圣统合击三职业传奇