SQLite数据库并不是面向对象的,使用起来感觉很麻烦
于是有了LitePal,大家一起来感受下吧
首先是LitePal的一导入 1.下载litepal-1.4.1.jar
2.(Android Studio)在Module的build.gradle中加入
dependencies { compile 'org.litepal.android:core:1.4.1' }
二.是在assets(Project 的src/main/assets)文件夹下 创建litepal.xml,文件内容可复制以下内容
public class MyApplicationextendsApplication {
@Override
publicvoidonCreate() {
super.onCreate();
LitePal.initialize(this);
}
...
}
自此大功告成,可以在程序中进行操作了。
一。假设我们要管理公司的美女,先创建个对象 (注意要继承DataSupport)
public class NiceGirl extends DataSupport {
@Column(unique = true, defaultValue = "unknown") //每个人靠名字区分,是独一无二的,默认值是unknown
private String name; //名字
private float price; //工资
get和set方法,自己写吧。。。
}
这里我们创建了一个美女对象,包含两个属性名字和工资,接下来要做什么?
对之前提到的litepal.xml中加入这个对象,如下:(完整的名字)
<list>
<mapping class="org.example.litepalsample.model.NiceGirl "></mapping>
</list>
好了,这就创建好了
二。创建,现在一号美女圆圆来公司报道,工资是5000元,我们要增加这个实例:
NiceGirl girlNumb1= new ();
girlNumb1.setName("圆圆");
girlNumb1.setPrice(5000);
girlNumb1.save();
这么简单?? 你不信可以把数据取出来看看:
查询,
List<NiceGirl> girl= DataSupport.where("name like ?", "圆圆").find(NiceGirl.class);
Log.e("way","name:" +girl.get(0).getName());
Log.e("way","price:" +girl.get(0).getPrice());
你就会在Log栏里看到圆圆的信息
就这一种查询方式吗?当然不是,还有以下两种:
NiceGirl gril= DataSupport.find(NiceGirl .class, id);
List<NiceGirl> allGirls = DataSupport.findAll(NiceGirl.class);
这时候,又来了个美女芳芳,工资10000,
NiceGirl girlNumb2= new ();
girlNumb2.setName("芳芳");
girlNumb2.setPrice(10000);
girlNumb2.save();
更新
NiceGirl girl= new NiceGirl ();
girl.setPrice(6000); // raise the price
girl.updateAll("name = ?", "圆圆");
更新完了,还有其他方法吗,有以下两种:
NiceGirl gril= DataSupport.find(NiceGirl .class, id);
gril.setPrice(6000); // raise the price
gril.save();
或者
NiceGirl girl= new NiceGirl ();
girl.setPrice(6000); // raise the price
girl.update(id);
删除:
圆圆看了给自己加的工资,欲哭无泪,辞职走了
DataSupport.deleteAll(NiceGirl.class, "name like ?" , "圆圆");
或者
DataSupport.delete(NiceGirl.class, id);