Skip to content

使用Swift的反射原理,使Model无缝存储、获取,无需手写CRUD。脱离SQL语句,不需要添加相关的绑定操作,直接完成转换。

License

Notifications You must be signed in to change notification settings

TonyReet/AutoSQLite.swift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoSQLite.swift

SQLite.swift的封装,使用swift的反射原理,Model直接存储.获取. 无需再转换,增删改查. 脱离sql语句,不需要添加相关的绑定操作,直接完成转换。

png

使用方法

    1. 导入

A. Pod导入

  pod 'AutoSQLiteSwift'

B. 引入source目录下的文件文件:

SQLiteModel.swift
SQLiteDataBase.swift
SQLiteDataBaseTool.swift
SQLMirrorModel.swift
SQLPropertyModel.swift

创建model继承SQLiteModel即可
    1. 使用以下方法
        // 创建dataBase,
        var manager = SQLiteDataBase.createDB("testDataBaseName")
        // 插入
        manager.insert(object: testModel, intoTable: "testTableName")
        
        或者
        
        SQLiteDataBase.insert(object: testModel, intoTable: "testTableName")
        // 删除
        manager.delete(testModel, fromTable: "testTableName")
        
        或者
        
        SQLiteDataBase.deleteModel(testModel, fromTable: "testTableName")
        
        // 更新
        testModel.name = "Reet"

        manager.update(testModel, fromTable: "testTableName")
        
        或者
        
        SQLiteDataBase.update(testModel, fromTable: "testTableName")
        // 查询
        guard let results = manager.select(testModel, fromTable: "testTableName") else {
            sqlitePrint("没有查询到数据")
            return
        }

        for result in results {
            sqlitePrint("查询的数据\(result)")
        }
        
        或者
        
        let results = SQLiteDataBase.select(testModel, fromTable: "testTableName")

        if results.count > 0{
            for result in results {
                sqlitePrint("查询的数据\(result)")
            }
        }else {
            sqlitePrint("没有查询到数据")
        }

upgrade

####19.7.30
新增可选类型(optional) ####19.4.23
新增字段时,直接在表里面添加,避免报错

有任何疑问或建议. 欢迎提issue。

About

使用Swift的反射原理,使Model无缝存储、获取,无需手写CRUD。脱离SQL语句,不需要添加相关的绑定操作,直接完成转换。

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors