SQLite3中针对Objective-c的持久层框架
来源:互联网 发布:网络推广客服是干嘛的 编辑:程序博客网 时间:2024/05/20 10:21
一、sqlite persistent objects的下载与安装
sqlitepersistentobjects是google code上的一个开源项目,大家可以出下载它,本项目地址是:http://code.google.com/p/sqlitepersistentobjects/
下载后,得到的源码包src内的源文件,copy到自己的项目中,建议最好新建一个分类(new group)见注1,与其它源码分离开来,便于管理.然后再工程中添加”libsqlite3.dylib”库。见注2
二、sqlite persistent objects的使用
在使用前,我们先了解一下他是怎么工作的,首先要创建一个Objective-C类,这个类只需要继承自 “SQLitePersistentObject”,然后,添加您想要持久化的Objective-C 2.0属性。当这个类被实例化后,调用”save”方法,会自动保存到数据库中。每一个“SQLitePersistentObject”的子类都会拥有数据库中对应的一张表。每一个属性(不包括集合类型,像,NSDictionary,NSArray,NSSet或这些类的可变类型)都会持久化到表中相应字段中。属性中如果含有指针对象是”SQLitePersistentObject”实例,也将会在关联表里新添条记录。注意,这里的属性必须是实现 “NSCoding”的对象,如NSDate,NSString,NSData,NSMutableData,NSNumber与NSObject,而 c-string,void pointer, strutct 或 union它们不是对象,将不会支持。但所有的数字(int,float等)都会保存在应的字段上。
我们简单要来做一个例子,定义一个类Person,继承SQLitePersistentObject,把这个类的属性保存到数据库中,代码如下:
#import “SQLitePersistentObject.h” //Person.m的生成略,大家都应该知道的 @interface Person : SQLitePersistentObject { NSString *iName; int iAge; } @property (nonatomic, retain) NSString * iName;@property (nonatomic) int iAge; @end
生成类文件后,在其它使用的类中创建实例:
调用”save”方法,保存到数据库中:
[person save];
加载表中的数据也相当的简单。任何一个”Person”类都有多个提供查询的类方法。例如,你可以查询所有姓“lee”的人:
NSArray *people = [Person findByIName:@"'lee%'"];//这里实际有点像like语句,where iName like 'lee%'
或者更灵活的使用SQL查询条件:
Person *leeguoli = [Person findFirstByCriteria:@"WHERE i_name = 'leeguoli' AND i_age = 20];
如果要更新,当然这里先要查询出来需要更新的对象,然后修改对象的值并保存就可以了,这里不再详写。
=========================================================
注1、Xcode界面中,右键点击Classes目录,选择“Add > New Group”,命名为SQLitePersistentObject。右键点击新建的 “SQLitePersistentObject”目录,选择“Add > Existing Files”,将解压缩出来的src目录下所有文件导入。
注2、请右键点击左部菜单中的”Frameworks”目录,选择 “Add > Existing Frameworks…”,然后在本地目录中选择“/Developer/Platforms/iPhoneOS.platform/Developer /SDKs/iPhoneOS3.1.2.sdk/usr/lib/”,找到“libsqlite3.0.dylib”文件并双击。一个弹出窗口将出现,点击其中“Add”按钮将库添加入项目中。
- sqlite3中针对objective-c的持久层框架
- SQLite3中针对Objective-c的持久层框架
- SQLite3中针对Objective-c的持久层框架
- SQLite3中针对Objective-C的持久框架
- Objective-C中Sqlite3持久层框架
- 持久层框架的关注点
- IOS系统中SQLlite持久层框架
- objective-c sqlite3 最原始的使用
- Objective-c针对swift的新特性
- web框架表现层,业务层,持久层的特点
- C#常见的持久层框架
- MS .Net常见的持久层框架
- 简单的持久层框架尝试
- 持久层框架ibatis的实例
- 工作二总结——objective-C中sqlite3数据库的处理(其三) sqlite3数据库事务的使用
- 数据持久层框架
- ORM/持久层框架
- 持久层框架综述
- 组合查询存储过程的实现
- 转载findcaiyzh的在自己的电脑上架个网站!Vista+IIS7+花生壳架设网站图文教程
- iOS-如何让xcode自动检查内存泄露
- Digg 顶 踩(jQuery+Ajax)
- 【优化】SQL优化34条
- SQLite3中针对Objective-c的持久层框架
- 线程间通信——数据传递和同步
- Mac OS X 10.7 Lion下载及安装办法
- 搜索引擎原理及其组成部分和功能
- Java——StringUtils
- Java——参数校验
- Jetty实战之 嵌入式运行Jetty实现简单文件服务器
- Java——ClassUtils
- 程序设计竞赛(acm)常用数据结构