WCDB

2019-10-08  本文已影响0人  Code_人生

一、ORM

ORM: 模型-数据库的绑定
1、属性的绑定
2、约束的绑定

二、WCDB简单使用

1、建一个分类,LGStudent+LGTest.h.m文件可以直接删除

#import "LGStudent.h"
#import <WCDB/WCDB.h>

NS_ASSUME_NONNULL_BEGIN

@interface LGStudent (LGTest)

WCDB_PROPERTY(studentID)
WCDB_PROPERTY(name)
WCDB_PROPERTY(gender)
WCDB_PROPERTY(nickName)
WCDB_PROPERTY(imageUrl)
WCDB_PROPERTY(birthday)

@end

NS_ASSUME_NONNULL_END

2、模型LGStudent.m文件

#import "LGStudent.h"
#import "LGWCDBTool.h"
#import "LGStudent+LGTest.h"

#define LGStudent_table @"LGStudent_table"

@interface LGStudent ()


@end

@implementation LGStudent

//模型-表的关系!!!!

WCDB_IMPLEMENTATION(LGStudent)

//绑定字段 - 数据库表当中的关系

// WCDB_SYNTHESIZE,用于在类文件中定义绑定到数据库表的字段。
WCDB_SYNTHESIZE(LGStudent, studentID)
WCDB_SYNTHESIZE(LGStudent, name)
WCDB_SYNTHESIZE(LGStudent, gender)
WCDB_SYNTHESIZE(LGStudent, nickName)
WCDB_SYNTHESIZE(LGStudent, imageUrl)
WCDB_SYNTHESIZE(LGStudent, birthday)

//约束
WCDB_UNIQUE(LGStudent, studentID)
WCDB_NOT_NULL(LGStudent, studentID)

// 创建表
+ (BOOL)createStudentTable{
    return [[LGWCDBTool sharedTool].lgDB createTableAndIndexesOfName:LGStudent_table withClass:[LGStudent class]];
}

// 保存数据-表
+ (BOOL)saveStudentList:(NSArray *)studentList {
    
    //[LGWCDBTool sharedTool].lgDB insertObject:<#(WCTObject *)#> into:<#(NSString *)#>   // 插入单行数据
    return [[LGWCDBTool sharedTool].lgDB insertOrReplaceObjects:studentList into:LGStudent_table];
}


// 删除根据一个关键字学生模型
+ (BOOL)deleteStudentFromTableWithStudentID:(int)studentID{
    BOOL result = [[LGWCDBTool sharedTool].lgDB deleteObjectsFromTable:LGStudent_table where:LGStudent.studentID.is(studentID)];
    if (result) {
        NSLog(@"删除某条数据成功....");
        // [self.updateSignal sendNext:@(YES)];
        // 如果result为true表示插入数据库成功,发送一个数据库更新的信号
    }
    return result;
}

// 删除表里所有内容
+ (BOOL)deleteAllPropertyFromStudentTable{
    return [[LGWCDBTool sharedTool].lgDB deleteAllObjectsFromTable:LGStudent_table];
}

@end
上一篇 下一篇

猜你喜欢

热点阅读