SwifQL类型安全的Swift SQL查询DSL
SwifQL 的 SQL 构建方式,挺像在用 Swift 写链式代码。和拼字符串的老派做法比,类型安全、编译期就能报错,少走不少弯路。
类型安全的 SQL 查询,写起来就像 Swift 的语法糖。你写个User.query().where(\User.age > 18)
,不用怕打错字段名,编译器直接给你兜底。写着放心,用着顺手。
可扩展性也不错。需要支持 PostgreSQL 特有的操作?你可以自己加扩展。想搞点复杂的窗口函数?SwifQL 也扛得住,接口暴露得还挺灵活。
多数据库支持是个亮点,SwifQL 能自动适配不同 SQL 方言,像 MySQL、PostgreSQL 都能搞定,适配器负责翻译 SQL 语法,项目后期换库也不怕。
和 Swift 整合也蛮紧密的,写 SQL 就像在堆 Model 代码。不用来回粘贴 SQL 语句,也不需要记住那些反人类的语法,响应也快,维护成本低。
虽然官方没说,但 SwifQL 率也有连接池
和事务
支持。毕竟做数据库操作,这两样少了哪都麻烦。
性能上,SwifQL 因为不是拼字符串,而是构建结构体的方式来生成查询,运行时性能还不错。支持Prepared Statement
,可以防 SQL 注入。
想上手也不难,下面这段就是典型例子:
let users = User.query()
.where(\User.age > 18)
.order(\User.name.asc())
.limit(10)
.execute()
如果你习惯了像SwiftyDB
、Endpoint
这种类型安全的开发方式,SwifQL 用起来应该会觉得蛮自然的。文档和社区支持也挺活跃,遇到坑不怕没解法。
如果你在做 Swift 服务端项目,或者 SQL 写得更清晰更安全,可以考虑试试 SwifQL,体验还挺不错的。
SwifQL::gem_stone:用于类型安全,可扩展和可转换SQL查询的Swift DSL
预估大小:200个文件
LICENSE
1KB
Column+AutoType.swift
6KB
Functions+PostgresJSONB.swift
15KB
Functions+PostgresJSON.swift
13KB
Functions+Numeric.swift
7KB
Functions+String.swift
16KB
Functions+PostgresTime.swift
19KB
Functions+Window.swift
7KB
Alias.swift
6KB
GenericTableSelector.swift
22KB
146.35KB
文件大小:
评论区