這裡將資料庫的封裝為乙個工具類.將資料庫設計為乙個單例,封裝一些開啟,建立**,增,刪,改,查的方法.在收藏功能中主要用到,查詢,增添,和刪除的方法.
查詢,返回的資料,是你存入的資料內容.可以返回資料庫的全部內容,也可以根據某個屬性,返回符合該屬性的內容.
**區別:
根據title來查詢資料庫中內容,返回與title一樣的資料.
主要思路:
1.查詢資料庫的內容,遍歷返回的陣列來判斷資料庫中是否有想要收藏的資料(model),以此來判斷收藏提示介面的狀態.
2.收藏介面狀態的更換,來判斷什麼時候往資料庫中插入某條資料,什麼時候刪除資料庫中的某條資料.
3.查詢資料庫中的內容,,將資料庫中的內容在另外乙個介面將資料庫中的model展現出來.
將要收藏的資料(model)插入導資料庫當中
實現該功能中遇到的問題:
1.什麼時候插入資料,什麼時候刪除資料,不能寫在 遍歷查詢返回的陣列當中 ,會導致多條資料同時插入,同時刪除.
2.判斷起初的收藏狀態,必須在該介面初始化之後,介面出現之前,多注意程式走方法的先後順序.
3.資料庫建立的 **,若是同名,後建的**不會替換之前的**,若是**新增了新的一列,屬性,必須在資料夾中,將原始建立的**刪除.
4.資料庫存資料的小技巧,先考慮自己想要存的內容,根據想要存的內容建立model型別,
在收藏介面,用該model的屬性接收來自不同介面來的model型別的屬性(一般為字串屬性,分開接收,這樣避免直接接收整個model時需要判斷不同的model型別)
避免介面一樣,model的屬性不同 ,導致資料中儲存一些(null)的資料.
#import .h
@class modelforlisten;
@inte***ce databasehandler : nsobject
+ (instancetype)sharedatabasehandler;
- (void)open;
- (void)createtable;
- (void)insertmodel:(modelforlisten *) model;
- (void)updatamodel:(modelforlisten *)model fornumber:(nsinteger)number;
- (void)deletewithtitle:(nsstring *)title;
- (void)deletewithmodel:(modelforlisten *)model;
- (nsarray *)selectfortitle:(nsstring *)title;
- (nsarray *)selectformodel;
- (void)droptable;
- (void)closedb;
.m@implementation databasehandler
#pragma mark - 知識點 1 單例
+ (instancetype)sharedatabasehandler elseelseelseelse elseelseelse else elseelse{
nslog(@"資料庫關閉失敗. code :%d", result);
@end
MySQL資料庫常見問題收藏
規模到了一定程度之後,該分的也分了,該優化的也做了優化,但是還是不能滿足業務上對效能的要求 這時候我們可以考慮使用主從庫。主從庫是兩台伺服器上的兩個資料庫,主庫以最快的速度做增刪改操作 最新資料的查詢操作 從庫負責查詢較舊資料,做一些對實效性要求較小的分析,報表生成的工作。這樣做將資料庫的壓力分擔到...
用PHP實現XML備份Mysql資料庫
以下是在linux下通過apache php對mysql資料庫的備份的檔案 檔案一 listtable.php 檔案列出資料庫中的所有 供選擇備份 請選擇要備份的 con mysql connect localhost root xswlily lists mysql list tables emb...
收藏 mysql手工匯入和匯出資料庫
mysql資料匯入與匯出 在本機寫好 了 要轉移到其他計算機上去了 下面講一下如何進行mysql資料匯入與匯出 執行 cmd cd c program files mysql mysql server 5.0 bin mysqldump.exe u root 使用者名稱 p db schoolmas...