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 项目提供一个简单、安全且高效的数据库操作解决方案。