LitePal 2.0的简单使用方法

首先在build.gradle添加依赖

implementation 'org.litepal.android:core:2.0.0'

而且要在app/src/main目录下新建一个assest目录并新建一个litepal.xml文件,在里面加入以下东西

    //数据库的名字

    //数据库版本号,升级就在这里改版本号就行了

        //在这里添加model类的包名

改好后然后在AndroidManifest.xml文件里改

    android:name="org.litepal.LitePalApplication"//改这一行

Litepal的基本配置工作就完成了

想要新建一个表就要新建一个model类,在里面写一些变量个get,set方法,最后在litepal.xml里添加一下包名就可以了

要进行 增删改查 操作的话,model类要继承 LitePalSupport 

添加数据:new一下model类,然后调用set...方法添加数据,最后调用save()方法保存就行了

例如:    

Province p = new Province();

p.setName("张三");

p.setAge("18");

p.setAddress("北京");

p.save();

更新数据:在原来添加的数据的基础上继续添加,它会覆盖其中的项,如果想要加入限制的话,就要调用updateAll()设置相关约束

例如:

Province p = new Province();

p.setAge("20");

p.updateAll("name = ? and address = ?","张三","北京");

这里直接就找到名字是张三,地址是北京的行,把他的age改成20;

想要把一个字段更新成默认值(默认值就是当你new了一下model类,其里面的变量就会有默认值,int是0,boolean是false,String是null等等)

Province p = new Province();

p.setToDefault("age");//把age列更新成默认值0

p.updateAll();//因为这没有添加约束,所以是一整列更新成默认值0

删除数据:第一种简单粗暴,直接对已存储对象调用.delete();把整个表删除,

                  第二种调用LitePal.deleteAll(需要删除的表xx.class,后面是约束);

例如:LitePal.deleteAll(Province.class,"name = ?","张三");

查询数据:

查询整个表:List  provinces = LitePal.findAll(Province.class);//返回的是Province的List集合

查询表中第一条数据:Province firstP = LitePal.findFirst(Province.class);

查询表中最后一条数据:Province lastP = LitePal.findLast(Province.class);

select()查询哪几列数据:List  provinces = LitePal.select("name","age").find(Province.class);

whre()添加约束,查询age>15的数据:List  provinces = LitePal.where("age > 15 ?","15").find(Province.class);

order()用于指定结果的排序方式:List  provinces = LitePal.order("age desc).find(Province.class);//desc降序,asc或者不写表示升序

limit()查询结果的数量:List  provinces = LitePal.limit(3).find(Province.class);//查询前三条数据

查询第2,3,4条:List  provinces = LitePal.limit(3).offset(1).find(Province.class);

最后也可以对这5个方法结合来查询:

List  provinces = LitePal.select("name","address")

                                                        .where("age > ?",15)

                                                        .order("age asc")

                                                        .limit(10)

                                                        .offset(5)

                                                        .find(Province.class);

这里的意思是查找name和address这两列,age大于15的,而且按照age升序来排序的,查询10个,从第6个开始查询。

你可能感兴趣的:(LitePal 2.0的简单使用方法)