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))
相关推荐
神秘的猪头7 小时前
彻底搞懂 React 组件通信:从 TodoList 实战出发,解锁 React 开发的“核心姿势” 🚀
前端·react.js·架构
若梦plus7 小时前
实现WebView JSBridge
前端
JS_GGbond7 小时前
揭秘微信扫码登录:那个小绿框背后的魔法
前端
C_心欲无痕8 小时前
vue3 - 响应式数ref与reactive的深度解析
前端·javascript·vue.js
全栈老石8 小时前
TypeScript 中 Type 和 Interface 傻傻分不清?看完这篇就不纠结了
前端·typescript
沈千秋.8 小时前
xss.pwnfunction.com闯关(1~6)
java·前端·xss
浪浪山_大橙子8 小时前
吃透 CSS 常用函数:从布局到美化,18 个高频函数让样式写得又快又优雅
前端
我是ed.8 小时前
Vue3 图片标注插件 AILabel
前端·vue3·标注·ailabel
晚星star8 小时前
《深入浅出 Node.js》第四章:异步编程 详细总结
前端·node.js