美文网首页
LitePal 2.0的简单使用方法

LitePal 2.0的简单使用方法

作者: 大崔弗 | 来源:发表于2019-01-01 16:36 被阅读0次

    首先在build.gradle添加依赖

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

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

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

        <dbname value = "cool_weather"/>//数据库的名字

        <version value = "1"/>//数据库版本号,升级就在这里改版本号就行了

            <mapping class="com.coolweather.android.db.Province"/>//在这里添加model类的包名

    </litepal>

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

    <application

        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 <Province> provinces = LitePal.findAll(Province.class);//返回的是Province的List集合

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

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

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

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

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

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

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

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

    List <Province> 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的简单使用方法

          本文链接:https://www.haomeiwen.com/subject/otbnlqtx.html