基于IOS的sqlite数据库封装

本文介绍了一个基于Objective-C的DBController,它为iOS应用提供了SQLite数据库的封装,简化了查询、插入、更新和删除操作。只需声明模型类,DBController会自动生成对应表并处理字段映射。目前仅支持基本数据类型,如需扩展需修改源码。示例代码展示了如何使用DBController进行数据库操作。
摘要由CSDN通过智能技术生成


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值