(1)知识准备【利用objective-c的runtime特性,结合FMDB实现一个轻量级的ORM】
版权声明:本文为博主原创文章,未经博主允许不得转载。 ( 本ORM的源码已经上传到 github 上 ( https://github.com/helloclq/BCSqliteORM_FMDB ),大家可以下载测试,如发现什么问题或意见,欢迎大家提出并指正, oschina上的地址为: http://git.oschina.net/BlockCheng/BCSqliteORM_FMDB ) 想自己写一个objective-c的框架:利用objective-c的runtime特性,结合现有的操作sqlite的FMDB库,实现一个轻量级的ORM框架;要求: 颗粒度小、 量级轻、可配置度高、自由性大; 0、需求缘由 一个人扛这个项目快两年了,最近在着手重构代码,想精简下现有的数据库层的代码。 目前项目的数据库层的情况是这个样子的:项目中共涉及的表有8张,数据库的操作,都是通过FMDB操作Sql直接实现的,都是纯粹的objective-c实体和数据库表间的映射操作,如下图。 项目中,一张表,一个实体,对应一个DBManager类别,而各个类别里面的操作无非都是增删改查,类别里大致操作流程是: 【增删改】:根据objective-c实体信息,手动生成sql,然后经由FMDB,直接操作放进sqlite 【查】:根据查询条件,手动生成sql,利用FMDB操作sqlite,得到查询结果