基於IOS的sqlite數據庫封裝



DBController是基於IOS下的Object-C實現的,封裝了對sqlite數據庫的常用的查詢、插入、更新和刪除操作, 不需要再次修改和實現數據庫的底層接口操作,直接申明模型類,然後調用DBController來進行數據的操作。

當前項目的限制就是模型類的成員數據類型只支持整形、浮點型、NSString類型,需要支持其他類型的話, 需要修改DBController的源碼了。


實現原理:DBController會自動創建一個和模型類名相同的表名,然後遍歷模型類中的成員類型, 自動創建與成員變量名和類型相同的字段,當進行查詢、插入、更新和刪除等數據庫操作時, 會自動匹配相應的字段和成員變量。


以下是測試的片段代碼,可以任意聲明一個類,不需要關心數據庫的任何操作,只需要直接調用DBController類即可實現數據庫的插入、刪除和更新等操作:


#import "MyClass.h"
#import "DBBaseController.h"
MyClass *tmp2 = [[MyClass alloc] init];
tmp2.myID = 2;
tmp2.myCoin = 2;
tmp2.myAge = 2;
tmp2.myMoney = 2.522f;
tmp2.myName = @"2fqc";
tmp2.myTime = 22.2;
[dbController insertDataWithObject:tmp2];
//[dbController updateDataWithObject:tmp2 withKey:@"myID"];
// [dbController deleteDataWithObject:tmp2 withKey:@"myID"];
NSMutableArray *dataSet = [dbController selectDataWithObject:@"MyClass" withFilter:@"myID=2"];
int index = 1;
for (MyClass *mytmp in dataSet) {
NSLog(@"%d, myid = %d, mymoney=%0.3f,myname=%@", index++, mytmp.myID, mytmp.myMoney, mytmp.myName);
}
//[dbController deleteDataWithObject:tmp withKey:@"myName"];
//[dbController updateDataWithObject:tmp withKey:@"myID"];
[dbController release];
[tmp release];
[tmp2 release];


完整項目的下載地址:

https://code.csdn.net/gamer727/ios_dbcontroller

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章