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