美文网首页
Sqlite封装2-动态建表-基本创建

Sqlite封装2-动态建表-基本创建

作者: Lovell_ | 来源:发表于2017-08-02 11:20 被阅读21次

    一、基本创建要做的的事情:

    1. 主要思想:想办法凑够拼接完整建表sql语句, 需要的数据。
    2. 表的名称:根据类名定义
    3. 字段名称:类的成员变量,去掉_
    4. 字段的类型:类型编码到sql类型的映射类型,运行时type, 和 SQL type的映射表
    5. 主键:通过协议

    二、每个类的功能:

    1. XMGSqliteTool:上一篇中讲到
    • 对sqlite3的封装;
    • 实现增删改、查功能;
    • 执行sql语句。
    1. XMGModelTool
    • 对数据模型进行操作;
      1. 获取表名:根据该模型类名来定义,返回字符串;
        + (NSString *)tableName:(Class)cls
      2. 获取所有成员变量,类型为原生;
        + (NSDictionary *)classIvarNameTypeDic:(Class)cls;
      3. 获取所有成员变量,类型为数据库对应的类型;
        + (NSDictionary *)classIvarNameSqliteTypeDic:(Class)cls;
      4. 把成员变量和数据库对应的类型,拼接成字符串,返回字符串。(用于拼凑sql字段部分)
        + (NSString *)columnNamesAndTypesStr:(Class)cls;
    方法之间的使用关系 XMGModelTool.h XMGModelTool.m
    1. XMGSqliteModelTool
    • 连接数据库工具和模型工具;
    • 从模型工具中获取信息,拼接sql语句,让数据库执行。
    • API:根据模型类和用户名来建表:

    思想:尽可能多的, 能够自己获取, 就自己获取, 实在判定不了用的意图的, 只能让用户来告诉我们。

    步骤:
    1.创建表格的sql语句给拼接出来
    1.1 获取表格名称
    1.2 获取主键
    1.3 获取一个模型里面所有的字段, 以及类型
    2.执行

    Snip20170802_100.png
    1. XMGModelProtocol

    由模型类遵守该协议,并且实现该类方法。

    Snip20170802_102.png

    相关文章

      网友评论

          本文标题:Sqlite封装2-动态建表-基本创建

          本文链接:https://www.haomeiwen.com/subject/tnlelxtx.html