LitePal操作数据库

LitePal是一个开源库,一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,将我们平时开发最常用到的一些数据库的功能进行了封装,不用编写异性SQL语句就可以完成各种建表和增删改查的操作(CRUD).LitePal项目主页上也有详细的使用文档,https://github.com/LitePalFramework/LitePal

配置LitePal

Using Android Studio

Edit your build.gradle file and add below dependency:

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

在把LitePal成功引入当前项目中后,接下来配置litepal.xml文件,右击app/src/main目录-->New--->Directory,创建一个assets目录,然后在assets目录下再新建一个litepal.xml文件


1


2

https://github.com/LitePalFramework/LitePal上将下面内容复制粘贴在新建好的litepal.xml文件中


3

其中<dbname>标签用于指定数据库名,<version>标签用于指明数据库版本号,<list>标签用于指定所有的映射模型.

github上的开源项目的说明如下,各个参数代表的什么意思!

4

最后还需要再配置一下LitePalApplication,修改AndroidManifest.xml中的代码:

跟着github上的步骤走!!!因为我们的闭包中的内容是从github上找的

4

到现在为止我们的配置工作就做好了.


5


6

如果你想要更新(Update)升级你的数据库数据


7
8

使用LitePal增改删查数据

使用LitePal添加数据

9

使用LitePal更新数据

第一种方法:比较麻烦因为首先你要先添加数据然后再保存再在保存的基础上对已有数据进行修改.-----------核心是必须要向mode中添加数据保存再更改再保存达到更新数据的目的

10
11

第二种方法:通过DataSupport的updataAll()方法来更新数据,可以指定约束条件

12
13


14

即对于那些想更新为默认值的数据不可以采用set方法,LitePal同意提供了一个setToDefault()方法,其参数是想更改为默认值的列名

使用LitePal删除数据

第一种方法:直接调用已存储对象的delete()方法即可.已存储对象是调用过save()方法的对象(即存储了数据的mode)或者通过LitePal提供的查询API查出来的对象,都是可以直接使用delete方法来删除对象的这种方法比较简单代码见文章最后部分!

第二种方法:运用DataSupport的deleteAll方法来删除数据,可以指定约束条件

15

使用LitePal查询数据


16

LitePal提供的其他好用的查询API


17


18

附LitePal删除数据第一种方法:

private ButtonmBtnCreateDatabase,mBtnadd,mBtnupdate,mBtnupdata1,mBtndelecte,mBtnquery,mBtnDeleteData;

    android:id="@+id/delete_database"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:text="Delete Database1"

    android:textAllCaps="false"

    />

//LitePal的第一种删除数据的方法

        mBtnDeleteData=findViewById(R.id.delete_database);

        mBtnDeleteData.setOnClickListener(new View.OnClickListener() {

@Override

            public void onClick(View v) {

           Book book=new Book();

                book.setAuthor("wang ru xue");

//                book.setId();

                book.setName("jin ping mei");

                book.setPages(510);

               book.setPrices(19.95);

                book.setPress("bu zhi dao");

                book.save();

//可以通过打开adb shell 来看其数据id来知道这个方法是新建一条数据马上又把这条数据删除 所以

// 当你一直电机这个按钮然后再注释掉book.delete();这句话看到的数据的id不是一些连续的值

                book.delete();

            }

});

19


20


21


22


23


24
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,151评论 25 709
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,663评论 2 45
  • 前几天跟爸爸一起去采购中秋节的节礼,我的两份送给四爷和爸爸。 帮弟弟也带了四份,给他老丈人那边的长辈。 爸爸领路带...
    最后的十一阅读 3,994评论 0 0
  • 刚参加完婚礼回家的林墨在生闷气。 十月,林墨参加了十个婚礼。十月的日子就那么好?扎堆结婚?!咬牙切齿地送完十个红包...
    黑发西门阅读 2,934评论 3 1
  • 我也要服下这颗灵药,这应该时注意事项吧。读的时候随手把赞同的或有感触的地方标记出来,读完之后,才发现这么多。一个一...
    糖啊糖果果阅读 3,490评论 0 2