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

LitePal

2017-01-18 17:01 337 查看
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,文件内容可复制以下内容


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

<litepal>

<!-- 数据库名字 --!>

<dbname
value="demo" />

<!-- 数据库版本 --!>

<version
value="1" />

<!-- 要用到的对象在这里说明,会自动创建表格  --!>

<list>

</list>

</litepal>

                            三.在自己的Application中初始化:(加入红色的那行代码)

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);


总结一下吧,要善待员工,多加工资


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息