SwiftFFDB是一个ORM数据库,它支持在iOS和Perfect-Server上使用,SwiftFFDB是基于FMDB
构建的。
如果你使用的是Objective-C
,你可以尝试使用FFDB
Wiki中有更多使用的例子(还没完成)
- 基于Swift 4.0使用
- 支持在iOS8.0之后
- 依赖 FMDB
- 基于Swift 4.0.3工具链使用
- 在Perfect-Server v3中使用
- 依赖 PerfectMySQL
SwiftFFDB 可以通过Cocoapod集成到你的工程中:
$ vim Podfile
在podfile中增加下面的内容:
platform :ios, '8.0'
target 'YouApp' do
use_frameworks!
pod 'SwiftFFDB'
end
import PackageDescription
let package = Package(
name: "PatchServer",
dependencies: [
.Package(url: "https://github.com/Fidetro/PerfectFFDB.git",versions: Version(0, 0, 0)..<Version(1, .max, .max))]
)
你可以下载示例工程 如果你打算在iOS上使用:
Person.registerTable() //create table
或者Perfect-server:
PerfectMySQLConnect(host: "", user: "", password: "", db: "").setup(complete: { (mysql) in
Person.registerTable() //create table
})
创建一个表的模型:
struct Person:FFObject {
var primaryID: Int64?
var name : String?
static func ignoreProperties() -> [String]? {
return nil
}
static func customColumnsType() -> [String : String]? {
return nil
}
static func customColumns() -> [String : String]? {
return nil
}
static func autoincrementColumn() -> String? {
return "primaryID"
}
}
将数据插入到表中:
var person = Person()
person.name = "fidetro"
person.insert()
查询表中的数据:
// 查找所有数据
Person.select(where: nil)
// 查找name为 'fidetro'
Person.select(where: "name = 'fidetro'")
// 把name为'fidetro'改成'ffdb'
Person.update(set: "name = ?", where: "name = ?", values: ["ffdb","fidetro"])
删除表中的数据:
// find name is 'fidetro'
let personList = Person.select(where: "name = 'fidetro'")
for (let person in personList){
// delete this person in database
person.delete()
}
你也可以使用底层的FFDBManager
进行删除:
FFDBManager.delete(Person.self, where: "name = 'fidetro'")
SwiftFFDB
是我个人的开源项目,如果有什么问题,可以在Issues提问或者邮件给我[email protected]