LitePal

作者: Zcurry | 来源:发表于2018-12-27 18:03 被阅读0次

关于LitePal(github地址)

三步曲:
1. 添加依赖:api 'org.litepal.android:java:3.0.0'
2. 在assets中生成litepal.xml文件;具体内容查看litepal.xml
3. application继承LitePalApplication  或者添加:LitePal.initialize(this);
<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <!--设定数据库的名字-->
    <dbname value="curry"></dbname>

    <!--设定数据库的版本号[需要纯数字]-->
    <version value="2"></version>

    <!--用于设定所有的映射模型-->
    <list>
        <mapping class="com.curry.basic.test.TestBean"></mapping>
        <mapping class="com.curry.basic.test.AllBean"></mapping>
        <mapping class="com.curry.basic.test.ChildBean"></mapping>
        <mapping class="com.curry.basic.test.OnlyBean"></mapping>
    </list>
</litepal>
  • 数据库相关(表关联):
    • 一对一:数据表根据外键进行关联(哪个表添加外键都可以);两个实体类相互持有对方的引用;
    • 多对一:数据表根据外键进行关联(多方添加外键);通过集合类;
    • 多对多:添加中间表存放两表的id;通过集合的多持有;
  • 对象关系映射的数据类型: int、short、long、float、double、boolean、String和Date
  • 建表:
    • 新建实体类,即数据库表;
    • 根据对象关系映射,以上的数据类型都会映射到数据库表中;
    • 然后在litepal.xml中配置模型类的类名
    • 执行SQLiteDatabase db = Connector.getDatabase();操作数据后,即可生成;
  • 升级表: 仅需要添加需要新增的模型类,然后在xml中配置即可【版本号要加1】
  • 增、删、改、差: 都可以通过LitePal进行操作;或者对实体类进行操作,注意删除功能要对已经持久化过的实体类进行删除才起作用;可以通过isSaved判断实体类是否持久化。
  • 聚合函数:
    • litepal.count(testbean.class);//统计行数
    • litepal.sum(testbean.class, "test", int.class);//求和
    • litepal.average(testbean.class, "test");//求平均值
    • litepal.max(testbean.class, "test", int.class);//求最大
    • litepal.min(testbean.class, "test", int.class);//求最小

其他:

SQLite不支持删除列的命令吗?那LitePal又是怎样做到的呢?
其实LitePal并没有删除任何一列,它只是先将comment表重命名成一个临时表,
然后根据最新的Comment类的结构生成一个新的comment表,
再把临时表中除了publishdate之外的数据复制到新的表中,最后把临时表删掉。
因此,看上去的效果好像是做到了删除列的功能。

PS:

在module中也可正常使用,xml放在module中的assets文件中,主工程是可以正常调用的。(亲试有效哦)

参考/感谢:郭霖Android数据库高手秘籍

相关文章

  • litepal数据库问题

    LitePal项目地址[https://github.com/guolindev/LitePal] litepal...

  • LitePal

    LitePal 最新dependencies compile 'org.litepal.android:core:...

  • LitePal学习(二)——数据库升级

    前言 在LitePal学习(一)——配置讲过了LitePal的基本配置,这里讲讲LitePal的数据库升级吧。 讲...

  • LitePal的使用

    不怕跌倒,所以飞翔 本文知识点介绍 LitePal的集成和简单的使用 LitePal中实现增删改查 LitePal...

  • LitePal For Android(替代SQLite传统操作

    Github地址 LitePal配置 引用jar包引用litepal-1.6.0.jarlitepal-1.6.0...

  • LitePal框架数据存储

    一、使用LitePal操作数据库 (1)将LitePal的jar包引入到项目当中LitePal的最新版本(2)在项...

  • LitePal数据库框架的简单介绍及使用

    相信我,当你用上 LitePal 之后,你将再也不想去碰 SQLiteDatabase 了。 LitePal是一款...

  • LitePal

    简介 LitePal是一款开源的Android数据库开发框架,采用了对象关系映射(ORM)的模式(即将面向对象的语...

  • LitePal

    首先在dependencies闭包添加依赖 在APP目录下创建assets 定义要写入数据库中的类 在Activi...

  • LitePal

    关于LitePal(github地址) 数据库相关(表关联):一对一:数据表根据外键进行关联(哪个表添加外键都可以...

网友评论

      本文标题:LitePal

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