開源的Android開發框架-------PowerFramework使用心得(四)資料庫管理DBFarmer

来源:http://www.cnblogs.com/ideayapai/archive/2016/07/18/5680946.html
-Advertisement-
Play Games

DBFarmer是PowerFramework資料庫管理工具的集合。 可以進行對象的存儲,添加了setter和getter的參數會被收錄到資料庫中,每個參數作為一個項,int類型的id或_id會被作為primary key。 資料庫名為DBFarmer.db,在項目目錄下。每個對象的表名為類的全名替 ...


DBFarmer是PowerFramework資料庫管理工具的集合。

可以進行對象的存儲,添加了setter和getter的參數會被收錄到資料庫中,每個參數作為一個項,int類型的id或_id會被作為primary key。

資料庫名為DBFarmer.db,在項目目錄下。每個對象的表名為類的全名替換"."為"_",如com.source.beans.Person的表名為com_source_beans_Person。

private int id = 0;
private int num1 = 0;
private double num2 = 1.0;
private String str = "hello";
private boolean isEnable = true;
public int getNum1() {
    return num1;
}
public void setNum1(int num1) {
    this.num1 = num1;
}
public double getNum2() {
    return num2;
}
public void setNum2(double num2) {
    this.num2 = num2;
}
public String getStr() {
    return str;
}
public void setStr(String str) {
    this.str = str;
}
public boolean isEnable() {
    return isEnable;
}
public void setEnable(boolean isEnable) {
    this.isEnable = isEnable;
}
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}

  

1、插入,調用save方法

TestBeanNoID bean = new TestBeanNoID();
DBFarmer.save(this,bean);

2、刪除指定id記錄,deleteById方法

DBFarmer.deleteById(this, TestBean.class, 0);

3、刪除全部,deleteAll方法

DBFarmer.deleteAll(this, TestBean.class, 0);

4、單個條件刪除,deleteByItem方法

//刪除其中itemName=itemValue的全部內容
DBFarmer.deleteByItem(this, TestBean.class,"itemName","itemValue");

5、單個條件更新,updateByItem方法

和刪除一樣,當前還沒有支持多個條件和like等形式,在不久的未來會開發出來

//更新其中itemName=itemValue的全部內容
TestBeanNoID bean = new TestBeanNoID();
DBFarmer.deleteByItem(this,"itemName","itemValue", bean);

6、查詢,全部,findAll

List<TestBeanNoID> list = DBFarmer.findAll(this, TestBeanNoID.class);
for(TestBeanNoID b2 : list){
    Log.i(TAG, b2.getAccount() + "," +b2.getPassword());
}

7、根據ID查詢,find

根據ID查找一個,當該JavaBean沒有id 或者 _id的時候不能查詢,返回null

TestBeanNoID b = DBFarmer.find(this, 0, TestBeanNoID.class);
if(b == null){
    Log.i(TAG, "TestBeanNoID is null");
}else{
    Log.i(TAG, "TestBeanNoID id:" + b.getAccount());
}

8、清空資料庫,clearAll

DBFarmer.clearAll(this);

  

 

框架和DEMO文件下載地址  http://www.ideayapai.com/Application/Home/View/default/PowerFamily/index-2.htm

 

歡迎各位大牛、大神蒞臨QQ群進行交流:575026537

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Mac下載並編譯Google安卓AOSP項目代碼 參考 這兩天用Mac下載安卓AOSP源碼,且把遇到的問題記下來。當然作為一個菜鳥,難免會有錯誤或者描述不對的地方,歡迎各路大神小神批評指正。轉載請註明出處。 一、準備環境 (請提前安裝好xcode或command line tools) Instal ...
  • If your unit test has no dependencies or only has simple dependencies on Android, you should run your test on a local development machine. This testin ...
  • 廢話不多說,直接進入主題: 這裡要說的方式有6種:1、屬性傳值 2、block 3、delegate 4、UserDefault 5、單例 6、通知(篇幅原因我只寫核心代碼,如果看不懂可以直接在最下麵去github 看demo) 1、block(個人覺得最常用的場景下最好用的) 先說我最常用的blo ...
  • Android tests are based on JUnit, and you can run them either as local unit tests on the JVM or as instrumented tests on an Android device. This page ...
  • 我的情況:模擬器 可以返回數據 。真機不可以。我手機連接的同事的共用,我以為他的網段和後臺的網段在同一個網段。一直在找錯誤,打開手機網路設置一看 ,原來不在同一網段。手機的網路必須要跟PC的在同一個網段才行。 ...
  • 電話撥號器(重點) 1.產品經理: 需求分析文檔,設計原型圖 2.UI工程師: 設計UI界面 3.架構師: 寫架構,介面文檔 4.碼農: 服務端,客戶端 1.寫佈局界面 2.寫業務邏輯 1.通過佈局文件中對控制項配置的id,在activity中可以獲取控制項的對象,Edittext Button fin ...
  • 1.線性佈局 LinearLayout orientation:方向;vertical,垂直;horizontal,水平 gravity:對齊方式,子控制項相對於當前控制項的對齊方式 layout_gravity:當前控制項相對於父控制項的對齊方式 margin:當前控制項相對於四周的間距。 padding: ...
  • 在啟動篇中我們詳細分析了TaintDroid對DVM方法參數和方法變數的變數級污點跟蹤機制,現在我們將繼續分析TaintDroid對類的靜態域、實例域以及數組的污點跟蹤。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...