Android:日常學習筆記(10)———使用LitePal操作數據庫


Android:日常學習筆記(10)———使用LitePal操作數據庫

引入LitePal

什么是LitePal

  LitePal是一款開源的Android數據庫框架,采用了對象關系映射(ORM)的模式,將平時開發時最常用的一些數據庫功能進行了封裝,使得開發者不用編寫一行SQL語句就可以完成各種建表、増刪改查的操作。並且LitePal很“輕”,jar包大小不到100k,而且近乎零配置,這一點和Hibernate這類的框架有很大區別。目前LitePal的源碼已經托管到了GitHub上。

關於對象關系映射:

  我們使用的對象語言是面向對象語言,而使用的數據庫則是關系型數據庫,將面向對象的語言與面向關系的數據庫之間建立一種映射關系,這就是對象關系映射。我們可以不用編寫任何SQL語句,而用面向對象的設計思想操作數據庫

配置LitePal

  1.添加依賴

  

  2.編寫XML配置文件 

<?xml version="1.0" encoding="utf-8" ?>
<litepal>
    <dbname value="BookStore"></dbname>  //數據庫名稱
    <version value="1"></version>     //數據庫版本
    <list></list>
</litepal> 

 說明:

<dbname>是數據庫的名字 <version>是數據庫的版本號 <list>是數據庫的映射模型(數據庫表) <mapping>是數據庫的映射模型的地址(數據庫表結構)

  3.配置LitePalApplication

    <application
        android:name="org.litepad.LitePalApplication"
        .....>
    ....
    </application>

創建和升級數據庫

創建數據庫及Book表

1.定義JavaBean

public class Book {
    private  int id;
    private String author;
    private double price;
    private int pages;
    private String name;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

   .....          
}

2.將Book類添加到映射模型列表中

<?xml version="1.0" encoding="utf-8" ?>
<litepal>
<dbname value="BookStore"></dbname>
<version value="1"></version>
<list>
    <mapping class="com.example.zy.dealhelper.database.Book"></mapping>
</list>
</litepal>

3.調用命令創建數據庫

public void onClick(View v) {
    Connector.getDatabase();
}

4.litePal會自動創建數據庫和Mapping對象類的數據表

 

升級數據庫

  LitePal升級數據庫非常簡單,你完全不需要思考任何的邏輯,只需要修改你想改的任何內容,然后將版本后遞增即可。比如我們要往Book表中添加一列,如press(出版社),直接在JavaBean中添加即可。

public class Book {
    private  int id;
    private String author;
    private double price;
    private int pages;
    private String name;
    private String press;//出版社

    public String getPress() { return press; } public void setPress(String press) { this.press = press; }
   ......    
}

或者想多創建一張表,你也只需要再寫一個JavaBean類就好。

public class Catagory {
    private int id;
    private String categoryName;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
  ......
}

別忘了最后再LitePal的配置文件中,加入mapping和更新版本號

增刪改查

添加數據

使用LitePal添加數據異常簡單:

   我們只需要創建出模型類並將數據設置好,調用save()方法即可。

前提:

  要執行CURD操作的數據表必須繼承自DataSupport

  

 實例:

            public void onClick(View v) {
                Book book =new Book();
                book.setName("The Da Vinci Code");
                book.setAuthor("Dan Brown");
                book.setPages(454);
                book.setPrice(16.96);
                book.setPress("Unknow");
                book.save(); //只需要調用繼承方法,save()即可
            }

更新數據

對已存儲對象重新設值:

  

條件匹配:

  

  切記如果不指定條件會更新所有記錄的

刪除數據

DataSupport.deleteAll(Book.class,"price < ?","15")

查詢數據

簡單查詢:

//查找某表的所有數據
List<Book> books =DataSupport.findAll(Book.class);
//第一條數據
Book first =DataSupport.findFirst(Book.class);
//最后一條數據
Book last =DataSupport.findLast(Book.class);

連綴查詢:

關於ADB啟動錯誤的解決方案:

1、CMD命令窗口輸入:adb nodaemon server 。然后就會提示你哪個端口被占用了。

2、輸入netstat -ano | findstr "5037" 。然后會彈出提示告訴你哪些進程占用了該端口,記住非0地址的后面的數字

3、打開任務管理器,點擊“進程“,“查看”-“選擇列”,勾選PID

4、查找第2步中看到的數字PID,然后結束相關進程,即可

 

 

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM