LitePal学习笔记

来源:互联网 发布:网络信息发布平台 编辑:程序博客网 时间:2024/05/01 10:45

一、配置环境

1.添加依赖

dependencies {    compile 'org.litepal.android:core:1.4.1'}

2.在assets文件夹中添加litepal.xml文件

<?xml version="1.0" encoding="utf-8"?><litepal>    <dbname value="book_store"></dbname>    <version value="1" ></version>    <list>    </list></litepal>

3.配置Application
修改AndroidManifest.xml

<application    android:name="org.litepal.LitePalApplication"        ...

二、创建数据库

1.定义一个javabean,Book类

package com.momo.litepaltest;import org.litepal.crud.DataSupport;/** * Created by Administrator on 2017/1/18. */public class Book extends DataSupport{    private int id;    private String name;    private String author;    private int pages;    private double price;    public void setId(int id) {        this.id = id;    }    public void setName(String name) {        this.name = name;    }    public void setAuthor(String author) {        this.author = author;    }    public void setPages(int pages) {        this.pages = pages;    }    public void setPrice(double price) {        this.price = price;    }    public int getId() {        return id;    }    public String getName() {        return name;    }    public String getAuthor() {        return author;    }    public int getPages() {        return pages;    }    public double getPrice() {        return price;    }    @Override    public String toString() {        return "Book{" +                "id=" + id +                ", name='" + name + '\'' +                ", author='" + author + '\'' +                ", pages=" + pages +                ", price=" + price +                '}';    }}

2.在litepal.xml文件中添加mapping标签

<?xml version="1.0" encoding="utf-8"?><litepal>    <dbname value="book_store"></dbname>    <version value="1" ></version>    <list>        <mapping class="com.momo.litepaltest.Book"></mapping>    </list></litepal>

3.使用Litepal.getDatabase()即可创建数据库。
4.更新时只需要直接修改Book类,并且修改litepal.xml文件中的version标签,将version加1。如果添加新的数据库,需要在list标签下继续创建一个mapping。

三、插入数据

1将javabean类继承自DataSupport。

public class Book extends DataSupport{    ......}

2.创建Book对象,调用book.save()方法将该条数据存入数据库中。

btn_insert.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {        Book book = new Book();        book.setName("Android第一行代码");        book.setAuthor("郭霖");        book.setId(15);        book.setPages(650);        book.setPrice(79.99);        book.save();        Toast.makeText(MainActivity.this, "insert successed!", Toast.LENGTH_SHORT).show();    }});

四、更新数据

1.调用book.updateAll()方法。

btn_update.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {        Book newBook = new Book();        newBook.setPrice(20.00);        newBook.setPages(200);        newBook.updateAll("id = ?","5");    }});

2.updateAll()不加参数表示对所有元素执行更新操作。
3.将某列置为默认值

Book book = new Book();book.setToDefault("pages");book.updateAll();

将所有书的页数都置为0.

五、删除数据

1.调用DataSupport.delteAll()方法

btn_delete.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {        DataSupport.deleteAll(Book.class,"id = ?" , "4");        Toast.makeText(MainActivity.this, "delete success", Toast.LENGTH_SHORT).show();    }});

2.deleteAll()不加参数表示删除所有元素

六、查询数据

1.查询所有记录DataSupport.findAll(Book.class);

btn_query.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {        StringBuilder builder = new StringBuilder();        List<Book> bookList = DataSupport.findAll(Book.class);        for(Book book: bookList){            builder.append(book.toString() + "\n");        }        tv_data.setText(builder.toString());        Toast.makeText(MainActivity.this, "query result", Toast.LENGTH_SHORT).show();    }});

2.查询第一条记录

Book firstBool = DataSupport.findFirst(Book.class);

3.查找最后一条记录

Book lastBook = DataSupport.findLast(Book.class);

4.select查找固定列

List<Book> books = DataSupport.select("name","author").find(Book.class);

5.where用于条件查询

List<Book> books = DataSupport.where("pages > ?" , "400").find(Book.class);

6.order排序(desc从大到小,asc从小到大)

List<Book> books = DataSupport.order("price desc").find(Book.class);

7.limit限定查询记录数目

List<Book> books = DataSupport.limit(3).find(Book.class);

8.offset设置偏移量

List<Book> books = DataSupport.limit(3).offset(1).find(Book.class);

9.组合查询

List<Book> books = DataSupport.limit(3)                              .offset(1)                              .select("name","author")                              .order("price desc")                              .find(Book.class);
0 0
原创粉丝点击