您的位置:首页 > 移动开发 > Android开发

Android最火开源数据库框架 LitePal, 快速接入

2017-10-27 14:26 323 查看

开源地址:

https://github.com/LitePalFramework/LitePal

一.快速接入

数据库的接入很简单,4个步骤:

1.使用Android Studio在项目的build.gradle添加:

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


2. 配置LitePalApplication

用自己的 App 继承LitePalApplication:

public class App extends LitePalApplication {
@Override
public void onCreate(){
super.onCreate()
}
}


或 onCreate() 中初始化:

public class App extends Application {
@Override
public void onCreate(){
super.onCreate()
//这里执行初始化
LitePal.initialize(this);
}
}


在AndroidManifest.xml中配置,example:

<manifest>
<application
android:name=".App"
...
>
...
</application>
</manifest>


3. 创建数据库模型

即建表,新建一个对应 数据库表的Model类,

包含8种数据类型:int、short、long、float、double、boolean、String、Date,

public class Order extends DataSupport {

private String orderId;
private int num;
private String orderName;
private String price;
private long updateTime;


}

4.Model配置到litepal.xml

在assets目录下新建litepal.xml文件,

将上一步的Model类配置进去,

(如果有新的表,直接加入list节点下即可),example:

<?xml version="1.0" encoding="utf-8"?>

<litepal>
<dbname value="testname" ></dbname>

<version value="1" ></version>

<list>
<mapping class="com.example.test.bean.Order"></mapping>
</list>
</litepal>


到此配置结束!

二.用法详解

CRUD

1.增

Order o = new Order();
o.id="123";
o.save();


2.删

DataSupport.delateAll();//删除该表所有数据
DataSupport.delateAll(Order.class,"updateTime<?","6666666");//按条件删除部分数据


3.改

Order o = new Order();
o.price="998";
order.update(id);//根据id 改某个订单的 商品价格为998

Order o = new Order();
o.price="998";

o.updateAll("id < ?","66");//条件符合的所有对象 改商品价格为998

ContentValues values = new ContentValues();
values.put("orderNum", "100");

values.put("orderPrice", "996");

DataSupport.update(Order.class, values, "updateTime < ? and oId < ?","1231231231231","10");//多条件多参数修改


4.查

Order o= DataSupport.find(Order.class, id);  //传入参数查询

Order o = DataSupport.findFirst(Order.class); // 查询第一条

Order o = DataSupport.findLast(Order.class); // 查询最后一条

List<Order> orderList = DataSupport.findAll(Order.class);

List<Order> orderList = DataSupport.select("orderNum", "orderPrice") //只取2参数
.where("Price > ?", "997")      //条件限定
.order("updateTime desc")       //按时间排序
.limit(10)                      //分页,每页10条
.offset(10)                     //第二页
.find(Order.class);             //对象

// 联合查询,可以查询关联表
Person p = DataSupport.find(Person.class, pId, true);
List<Order> orderList = p.order;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息