typeorm node后端数据库ORM

装包

npm install typeorm -g

使用其 CLI 命令生成启动项目

typeorm init --name m-typeorm --database sqlite

修改数据库文件的名称

m-typeorm\src\data-source.ts

javascript 复制代码
import "reflect-metadata"
import { DataSource } from "typeorm"
import { User } from "./entity/User"

export const AppDataSource = new DataSource({
    type: "sqlite",
    database: "database2.sqlite",
    synchronize: true,
    logging: false,
    entities: [User],
    migrations: [],
    subscribers: [],
})

运行

npm run start

User.ts:

javascript 复制代码
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm"

@Entity()
export class User {

    @PrimaryGeneratedColumn()
    id: number

    @Column()
    firstName: string

    @Column()
    lastName: string

    @Column()
    age: number

}

index.ts:

javascript 复制代码
import { AppDataSource } from "./data-source"
import { User } from "./entity/User"

AppDataSource.initialize().then(async () => {

    console.log("Inserting a new user into the database...")
    const user = new User()
    user.firstName = "Timber"
    user.lastName = "Saw"
    user.age = 25
    await AppDataSource.manager.save(user)
    console.log("Saved a new user with id: " + user.id)

    console.log("Loading users from the database...")
    const users = await AppDataSource.manager.find(User)
    console.log("Loaded users: ", users)

    console.log("Here you can setup and run express / fastify / any other framework.")

}).catch(error => console.log(error))
相关推荐
艾小码1 小时前
Vue 组件设计纠结症?一招教你告别“数据到底放哪”的烦恼
前端·javascript·vue.js
SVIP111592 小时前
即时通讯WebSocket详解及使用方法
前端·javascript
mCell6 小时前
使用 useSearchParams 同步 URL 和查询参数
前端·javascript·react.js
mCell8 小时前
前端路由详解:Hash vs History
前端·javascript·vue-router
海上彼尚8 小时前
无需绑卡的海外地图
前端·javascript·vue.js·node.js
1024肥宅8 小时前
手写 call、apply、bind 的实现
前端·javascript·ecmascript 6
科杰智能制造9 小时前
纯前端html、js实现人脸检测和表情检测,可直接在浏览器使用
前端·javascript·html
每天吃饭的羊9 小时前
组件库的有些点击事件是name-click这是如何分装de
前端·javascript·vue.js
x***01069 小时前
SpringSecurity+jwt实现权限认证功能
android·前端·后端