您的位置:首页 > 其它

LitePal学习笔记

2017-01-19 22:02 232 查看

一、配置环境

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.OnClickLi
4000
stener() {
@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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: