Kiss-ORM 使用教程

Kiss-ORM 使用教程

kiss-ormAn extremely simple and explicit ORM for TypeScript项目地址:https://gitcode.com/gh_mirrors/ki/kiss-orm

项目介绍

Kiss-ORM 是一个非常简单且明确的 TypeScript ORM。它的设计哲学包括:

  • 无查询构建器:你可以使用 SQL 的全部功能和表达能力。
  • 安全性:Kiss-ORM 允许你编写和连接 SQL 查询,而不必担心 SQL 注入。
  • 完全测试:确保稳定性和可靠性。
  • 合理的依赖注入:简化依赖管理。
  • 数据映射器模式:而非活动记录模式。
  • 对象的不可变性:确保数据的一致性。
  • 无魔法:一切都是显式的,没有隐式的数据库操作。
  • 适当的关注点分离:为你的仓库提供清晰的结构。
  • 简单性:架构极其简单。
  • 无映射:Kiss-ORM 总是假设列和 JS 属性名称相同。

Kiss-ORM 兼容以下数据库:

  • PostgreSQL

项目快速启动

安装

npm install kiss-orm --save

示例代码

import { sql, PgSqlDatabase, CrudRepository } from 'kiss-orm';

class UserModel {
  public readonly id: number;
  public readonly email: string;
  public readonly isBlocked: boolean;
  public readonly emailVerificationCode: string|null;
}

class UserRepository extends CrudRepository<UserModel> {
  constructor(database: PgSqlDatabase) {
    super({
      database,
      table: 'Users',
      primaryKey: 'id',
      model: UserModel
    });
  }
}

应用案例和最佳实践

安全查询示例

const conditions = sql`"role" = $['admin'] AND "blocked" = $[false]`;
database.query(sql`SELECT * FROM "Users" WHERE $[conditions]`);

结果

{
  "query": "SELECT * FROM \"Users\" WHERE \"role\" = $1 AND \"blocked\" = $2",
  "params": ["admin", false]
}

典型生态项目

Kiss-ORM 可以与以下生态项目结合使用:

  • TypeScript:提供强类型支持。
  • PostgreSQL:作为主要支持的数据库。
  • Docker:通过 docker-compose.yml 文件简化开发环境设置。

通过这些组合,Kiss-ORM 可以为你的 TypeScript 项目提供一个简单、安全且高效的数据库操作解决方案。

kiss-ormAn extremely simple and explicit ORM for TypeScript项目地址:https://gitcode.com/gh_mirrors/ki/kiss-orm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骆宜鸣King

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值