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()

如果你习惯了像SwiftyDBEndpoint这种类型安全的开发方式,SwifQL 用起来应该会觉得蛮自然的。文档和社区支持也挺活跃,遇到坑不怕没解法。

如果你在做 Swift 服务端项目,或者 SQL 写得更清晰更安全,可以考虑试试 SwifQL,体验还挺不错的。

folder
SwifQL::gem_stone:用于类型安全,可扩展和可转换SQL查询的Swift DSL 预估大小:200个文件
file
LICENSE 1KB
file
Column+AutoType.swift 6KB
file
Functions+PostgresJSONB.swift 15KB
file
Functions+PostgresJSON.swift 13KB
file
Functions+Numeric.swift 7KB
file
Functions+String.swift 16KB
file
Functions+PostgresTime.swift 19KB
file
Functions+Window.swift 7KB
file
Alias.swift 6KB
file
GenericTableSelector.swift 22KB
file
UpdateTableBuilder.swift 22KB
file
Operators.swift 20KB
file
KeyPath.swift 9KB
file
Type.swift 19KB
file
Type+Autodetect.swift 6KB
file
Table.swift 6KB
file
.gitignore 77B
file
SwifQLTests.swift 16KB
file
SelectTests.swift 17KB
file
README.md 18KB
zip 文件大小:146.35KB