项目介绍:
前言:如今的APP开发中,只要涉及到数据存储,大多数都会应用到数据库,然而数据库的操作之繁琐是众所周知的。虽然主流的FMDB已经将数据库操作简化的近乎完美,但是仍然避免不了开发者要写恶心至极的SQL语句,我们常常会面对这种现象:”写SQL恶心,找SQL错更恶心!“ 于是乎,我萌生了此次设计的想法。项目介绍:仿照masonry的链式编程思想,基于SQL语法封装若干个block,动态生成SQL语句并保存,通过调用执行函数,一次性的完成开发者想要的数据库操作。一行链式操作,便可完成一套数据库操作!目前只实现了简单的数据库操作(增删改查),诸君可根据情况自行拓展。毕竟重点只是讲明、分享思路而已,如若存在不完善或者漏洞的问题,还望诸君见谅!话不多说!直接上代码~~
- [center operateDBWithDBName:@"3年级五班" lb_makeSQLCommon:^(LBFMDBMaker *maker) {
- [maker.Table(@"t_person",@[@"name",@"age",@"weight"],@[@0,@1,@2]).Insert(@"t_person",@[@"name",@"age",@"weight"],@[@"小鸡",@18,@73.3]).Insert(@"t_person",@[@"name",@"age",@"weight"],@[@"老牛",@19,@88.6]).Insert(@"t_person",@[@"name",@"age",@"weight"],@[@"大鸭",@16,@50.6]).Select(@"t_person") fire:^{
- FMResultSet * set = maker.resultSet;
- NSMutableArray * persons = [NSMutableArray array];
- while ([set next]) {
- int ID = [set intForColumnIndex:0];
- NSString * name = [set stringForColumnIndex:1];
- int age = [set intForColumnIndex:2];
- double weight = [set doubleForColumnIndex:3];
- NSMutableDictionary * person = [NSMutableDictionary dictionary];
- [person setValue:[NSString stringWithFormat:@"%d",ID] forKey:@"ID"];
- [person setValue:name forKey:@"name"];
- [person setValue:[NSString stringWithFormat:@"%d",age] forKey:@"age"];
- [person setValue:[NSString stringWithFormat:@"%.2f",weight] forKey:@"weight"];
- [persons addObject:person];
- }
- }];
- }];
复制代码
如此几行代码究竟做了什么?
1.创建了"3年级五班"数据库。
2.创建了属性为id、name、age、weight,名称为<font style="background-color:rgb(247, 247, 247)">t_person</font>的表。
3.向表中插入了三名小学生。
4.查询了三年级五班的t_person表。
5.存储了t_person所有小学生模型。
没错~就是干了这么多事!具体实现的话,我记得貌似有个下载按钮来着?哈哈,望多多吐槽,多多建议!奴家这厢有礼了~
github链接:https://github.com/Liubo66/LBFMDBMakerDemo.git