第一步,首先在app/build.grade中加上litepal的依赖,如下所示:
implementation 'org.litepal.android:java:3.0.0' 第二步,在java和res同级目录下创建一个assets文件夹,在里面创建一个litepal.xml文件。
<?xml version="1.0" encoding="utf-8"?>
<litepal>
<dbname value="BookStore"></dbname>
<version value="1"></version>
<list>
<mapping class="com.byd.test.myapplication.Notification.Notification.LitePal.Book"></mapping>
</list>
</litepal>
- dbname标签是相应的数据库名称
- version标签是相应的数据库的版本,这里注意当里面引用的内容发生改变的时候,要升级相应的版本
- list标签是那些对象需要数据库管理,这里注意mapping里面的路径一定要是全路径名称,对应我们的实体类的全路径。
- 这里面list标签中的实体类都应该继承DataSupport这个类。
下面放上实体类的代码
package com.byd.test.myapplication.Notification.Notification.LitePal;
import org.litepal.crud.LitePalSupport;
public class Book extends LitePalSupport
{
private int id;
private String name;
private String author;
private int page;
private double price;
private String press;
public void setPress(String press) {
this.press = press;
}
public String getPress() {
return press;
}
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 setPage(int page) {
this.page = page;
}
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 getPage() {
return page;
}
public double getPrice() {
return price;
}
}
创建一个activity,代码如下
package com.byd.test.myapplication.Notification.Notification.LitePal;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import com.byd.test.myapplication.R;
import org.litepal.LitePal;
import org.litepal.tablemanager.Connector;
import java.sql.Connection;
import java.util.List;
public class Main5Activity extends AppCompatActivity {
private Button button, button1, button2, button3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main5);
button = (Button) findViewById(R.id.test);
button.setOnClickListener(v -> {
//数据库创建成功
Connector.getDatabase();
//往数据表中添加一条数据
Book book = new Book();
book.setName("the mental of java");
book.setAuthor("Someone");
book.setPage(500);
book.setPrice(89.99);
book.setPress("人民出版社");
book.save();
});
button1 = (Button) findViewById(R.id.update);
button1.setOnClickListener(v -> {
//更新一条数据
//对于所有想要将数据更新成默认值的操作,LitePal统一提供了一个setToDefault()方法,然后传入相应的列名就可以实现了。
Book book = new Book();
book.updateAll("name = ? and author = ?","the mental of java","Someone");
book.setPrice(100);
book.setPress("外语出版社");
});
button2 = (Button) findViewById(R.id.deletee);
button2.setOnClickListener(v -> {
//删除一条数据(条件删除)
LitePal.deleteAll(Book.class,"page>?","500");
});
button3 = (Button) findViewById(R.id.select);
button3.setOnClickListener(v -> {
//查询所有数据
List<Book> books = LitePal.findAll(Book.class);
for (Book book:books){
Log.d("",""+book.getName());
Log.d("",""+book.getAuthor());
Log.d("",""+book.getPage());
Log.d("",""+book.getPress());
Log.d("",""+book.getPrice());
}
//条件查询
List<Book> books1 = LitePal.where("page > ?","100").find(Book.class);
//查询第一条数据
Book bookfirst = LitePal.findFirst(Book.class);
//查询最后一条数据
Book bookend = LitePal.findLast(Book.class);
});
}
}