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 ];
完整项目的下载地址: