LitePal学习笔记

一、配置环境

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);
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值