モデルクラスは通常のオブジェクトとして生成できます。 新規に作成したインスタンスでsaveメソッドを呼ぶとinsertクエリが発生します。
AppBook *book = [[AppBook alloc] init]; book.year = [NSNumber numberWithInt:2010]; book.author = @"wicket"; book.name = @"はじめてのライブラリ"; [book save]; // SQL: insert into book ( `name`,`author`,`year` ) values ( ?,?,?)
また、このときautoincrement属性があり、値が設定されていなかった場合は自動で値が付加されます
AppBook *book = [[AppBook alloc] init]; book.year = [NSNumber numberWithInt:2010]; book.author = @"wicket"; book.name = @"はじめてのライブラリ"; [book save]; NSLog(@"indexNo : %@", book.indexNo); // indexNo : 2
データの更新は、挿入の場合とかわりません。saveメソッドが自動で挿入なのか、更新なのかを判断するので気にすることなく使えます。
AppBook *book = [[AppBook alloc] init]; book.year = [NSNumber numberWithInt:2010]; book.author = @"wicket"; book.name = @"はじめてのライブラリ"; [book save]; // SQL : insert into book ( `name`,`author`,`year` ) values ( ?,?,?) book.name = @"はじめてのライブラリ 改訂版"; [book save]; // SQL : update book set `name` = ? where `indexNo` = 3
データの削除では、deleteメソッドを呼ぶだけです。 メモリに関してはライブラリ側では触りませんので、必要に応じてreleaseしてください。
AppBook *book = [[AppBook alloc] init]; book.year = [NSNumber numberWithInt:2010]; book.author = @"wicket"; book.name = @"はじめてのライブラリ"; [book save]; // SQL : insert into book ( `name`,`author`,`year` ) values ( ?,?,?) [book delete]; // SQL : delete from book where `indexNo` = 4