LitePal操作數(shù)據(jù)庫實(shí)例

今天為大家介紹一款新的安卓數(shù)據(jù)庫框架LitePal.這個(gè)框架的有點(diǎn)就是簡介明了,拋棄了原生SQLiteopenHelpler的復(fù)雜代碼苍碟,他采用了ORM對象映射的模式來進(jìn)行快速開發(fā)祟印。下面講一下配置:

1 在depenmdencie中導(dǎo)入 :

2 配置 ?litepal.xml文件,app/src/main目錄下新建一個(gè)大 assets目錄,然后在該目錄下新建一個(gè)litepal.xml文件編輯內(nèi)容

dbname 顯然就是 數(shù)據(jù)庫的名字,version 肯定就是版本號了啊芝雪。list 指定的是映射模型這個(gè)很關(guān)鍵。

3? 還需要配置一下 listpalApplication? 修改 androidManifest.xml文件的啟動(dòng)Application,換成listpalApplication综苔,記住要更換完整的包名惩系。這樣app啟動(dòng)的時(shí)候 該框架才可以正常使用。配置工作到此結(jié)束如筛。

下面開始創(chuàng)建和升級數(shù)據(jù)庫

首先建立表的話堡牡,肯定需要設(shè)置各種各樣的屬性,因?yàn)長Itepal是關(guān)系型數(shù)據(jù)庫所以建立的表的對應(yīng)的字段名就可以轉(zhuǎn)換成對應(yīng)的實(shí)體類的屬性名來進(jìn)行控制杨刨。這樣就會非常簡單晤柄,我們就可以用面相對象的思維來增刪改差對應(yīng)的對象屬性從而達(dá)到操作數(shù)據(jù)庫表的結(jié)果。下面是一個(gè)實(shí)體類 也就是用戶表 user



我們定義了 三個(gè)屬性 并款快捷鍵生成了對應(yīng)的setter 和 getter方法 ? 妖胀,此時(shí)這個(gè) user類 就對應(yīng)數(shù)據(jù)庫的 user表芥颈。

關(guān)鍵點(diǎn)來了,還需要將這個(gè)類名完整的配置到 之前的設(shè)置litepal.xml文件當(dāng)中 如下:


注意:一定要使用完整的類名

在一個(gè)activity的oncreate方法里面運(yùn)行 Connector.getDatabase();這樣簡單的數(shù)據(jù)庫操作創(chuàng)建完成赚抡,查看是否成功可通過adbshell文件查看爬坑,這里不再展示。

注意問題:litepal升級數(shù)據(jù)庫非常簡單涂臣,只需要在對應(yīng)的實(shí)體類里面加上對應(yīng)屬性即可增加對應(yīng)字段盾计,如果再想建議張表 就在建一個(gè)實(shí)體類,然后在配置文件里 maaping 一個(gè)新的 完整包名的實(shí)體類即可肉康,最后記得運(yùn)行之前一定要給 version 版本號 +1這樣才能保證之前的數(shù)據(jù)庫字段對應(yīng)數(shù)據(jù)完整保留闯估。


添加數(shù)據(jù):

1 user user=new user();user.setAge(10);user.setsex(100);user.save();

2 user的是實(shí)體類要繼承 DataSupport灼舍。 添加數(shù)據(jù)就是這么簡單吼和,記得最后 save(DataSupport類提供的方法)方法保存。

更新數(shù)據(jù):

1 更新數(shù)據(jù)的話 會對之前是否存儲過的對象進(jìn)行判斷骑素。這個(gè)以存儲的對象 是根據(jù)俄 model炫乓。issSaved()的返回結(jié)果來判斷 true 標(biāo)識已經(jīng)存儲,false表示尚未存儲献丑。當(dāng)調(diào)用過user末捣。save的方法時(shí)候就表示已經(jīng)存儲過了,第二種就是該框架提供的API進(jìn)行查詢查到的對象创橄。第一種可以可以作如下更改:

user user=new user();user.setAge(20);user.setsex(200);user.save();

這樣就會更新數(shù)據(jù)了箩做,因?yàn)槭窃谥暗奈恢脠?zhí)行了同一段代碼,并且之前已經(jīng)save過了妥畏,表示已經(jīng)存儲過了邦邦。(此處不推薦使用第一種更改數(shù)據(jù)方式)

2 ?推薦的一種更新數(shù)據(jù)方式:

user user=new user();user.setAge(101);user.setsex(120);user.updateAll(“erea=安吁?”,“日本”);

updateall可以指定條件更新erea 數(shù)據(jù) 為日本的 該條數(shù)據(jù)跟新 ?age 和 sex燃辖。是不是很簡單鬼店。當(dāng)然了 條件 也可以多個(gè)用and 連接。

注意:當(dāng)你使用該更新方法建一個(gè)字段設(shè)置為默認(rèn)值得的話 是不可以 用 set方法的黔龟,引文java設(shè)定就是你new 出來一個(gè)數(shù)據(jù)庫表的對象時(shí)候他已經(jīng)初始化設(shè)置為默認(rèn)值了妇智。此時(shí) 該框架 提供了一個(gè)方法 setToDefault();方法氏身,然后傳入相應(yīng)的列名就可以了巍棱。

user user=new user();user.setToDefault("age");user.updateAll();

因?yàn)閡pdateAll方法沒有限定條件,所以默認(rèn)更新所有數(shù)據(jù)蛋欣。

3 刪除數(shù)據(jù)方式兩種拉盾,

第一種 直接根據(jù)之前的以存儲對象 進(jìn)行 delete方法進(jìn)行刪除,這里不多介紹豁状,這里不多介紹捉偏,下面進(jìn)行第二種介紹:

DataSypport。deleteAll(User.class泻红,“age<?”,"19"')夭禽;這段代碼標(biāo)識刪除age小于19的數(shù)據(jù)在user表里面。如何不指定條件則刪除該表所有數(shù)據(jù)谊路。這點(diǎn)和 updataall很相似讹躯。

4 查找數(shù)據(jù):

list<user> ?mlist=DatatSuppory.findall(User.class);

該返回值就是一個(gè) user對象的集合 是不是很簡單。

今天暫時(shí)介紹到這里缠劝,明天詳細(xì)介紹一下查詢功能潮梯,大家都知道查詢是最復(fù)雜的。謝謝大家的支持

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末惨恭,一起剝皮案震驚了整個(gè)濱河市秉馏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌脱羡,老刑警劉巖萝究,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異锉罐,居然都是意外死亡帆竹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門脓规,熙熙樓的掌柜王于貴愁眉苦臉地迎上來栽连,“玉大人,你說我怎么就攤上這事侨舆∶虢簦” “怎么了舷暮?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長噩茄。 經(jīng)常有香客問我下面,道長,這世上最難降的妖魔是什么绩聘? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任沥割,我火速辦了婚禮,結(jié)果婚禮上凿菩,老公的妹妹穿的比我還像新娘机杜。我一直安慰自己,他們只是感情好衅谷,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布椒拗。 她就那樣靜靜地躺著,像睡著了一般获黔。 火紅的嫁衣襯著肌膚如雪蚀苛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天玷氏,我揣著相機(jī)與錄音堵未,去河邊找鬼。 笑死盏触,一個(gè)胖子當(dāng)著我的面吹牛渗蟹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赞辩,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼雌芽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了辨嗽?” 一聲冷哼從身側(cè)響起世落,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎召庞,沒想到半個(gè)月后岛心,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡篮灼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了徘禁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诅诱。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖送朱,靈堂內(nèi)的尸體忽然破棺而出娘荡,到底是詐尸還是另有隱情干旁,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布炮沐,位于F島的核電站争群,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏大年。R本人自食惡果不足惜换薄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翔试。 院中可真熱鬧轻要,春花似錦、人聲如沸垦缅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽壁涎。三九已至凡恍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間怔球,已是汗流浹背咳焚。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留庞溜,地道東北人革半。 一個(gè)月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像流码,于是被迫代替她去往敵國和親又官。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容