LitePal开源数据库使用笔记


通过.table命令来查看数据库里面的表

通过pragma table_info<表名>     命令来查看表的结构

LitePal支持的类型  int、short、long、float、double、boolean、String和Date

 

建表(博客2)

https://guolin.blog.csdn.net/article/details/38556989
1.创建实体类(数据库表)
2.将它配置到映射列表当中。编辑assets目录下的litepal.xml文件,在<list>标签中加入News模型类的声明
3.对数据库任何的操作实体类都会被自动创建出来

 

使用LitePal升级表:字段删除和添加(博客3)

  https://guolin.blog.csdn.net/article/details/39151617
1.修改实体类
2.litepal.xml文件中版本号加1


表与表之间的关联关系一共有三种类型,一对一、多对一、和多对多(博客4)

https://guolin.blog.csdn.net/article/details/39207945
一对一:表示两个表中的数据必须是一一对应的关系
多对一:表示一张表中的数据可以对应另一张表中的多条数据
多对多:表示两张关联表中的数据都可以对应另一张表中的多条数据

一对一、多对一通过外键来建立,一对一的时候外键加在哪一张表上都可以,但多对一的时候关键必须要加在多方的表中
多对多的情况只能是借助中间表来完成了。也就是说,我们需要多建立一张表,这张表没什么其它作用,就是为了存放news表和category表之间的关联关系的
总结:即一对一关联的实现方式是用外键,多对一关联的实现方式也是用外键,多对多关联的实现方式是用中间表
使用LitePal建立表关联:在表对象中声明好他们相互之间的引用关系,

 

LitePal的存储操作(博客5)

https://guolin.blog.csdn.net/article/details/39345833
LitePal要求所有的实体类都要继承自DataSupport这个类
添加:save() saveThrows()  saveAll()方法,专门用于存储集合数据的   这些方法执行之后会自动给表添加一个id 

 

使用LitePal修改数据(博客6)

https://guolin.blog.csdn.net/article/details/40083685
静态的update()方法接收三个参数,第一个参数是Class,传入我们要修改的那个类的Class就好,第二个参数是ContentValues对象,这三个参数是一个指定的id,表示我们要修改哪一行数据。
updateAll()方法表示修改多行记录,其中第一个参数仍然是Class,第二个参数还是ContentValues对象,第三个参数是一个conditions数组,用于指定修改哪些行的约束条件,返回值表示此次修改影响了多少行数据

使用LitePal删除数据(博客6)

delete()方法接收两个参数,第一个参数是Class,传入我们要删除的那个类的Class就好,第二个参数是一个指定的id,表示我们要删除哪一行数据。
deleteAll()方法接收两个参数,第一个参数是Class,传入我们要删除的那个类的Class就好,第二个参数是一个conditions数组,用于指定删除哪些行的约束条件,返回值表示此次删除了多少行数据,用法和updateAll()方法是基本相同的

DataSupport类中提供了一个isSaved()方法,这个方法返回true就表示该对象是经过持久化的,返回false则表示该对象未经过持久化

 

使用LitePal查询数据(博客7)

https://guolin.blog.csdn.net/article/details/40153833
查询news表中id为1的这条记录。News news = DataSupport.find(News.class, 1);
获取news表中的第一条数据   News firstNews = DataSupport.findFirst(News.class);
获取news表中的最后一条数据   News lastNews = DataSupport.findLast(News.class);

news表中id为1、3、5、7的数据都查出来。 List<News> newsList = DataSupport.findAll(News.class, 1, 3, 5, 7);或者long[] ids = new long[] { 1, 3, 5, 7 };  List<News> newsList = DataSupport.findAll(News.class, ids);


连缀查询
List<News> newsList = DataSupport.where("commentcount > ?", "0").find(News.class);


List<News> newsList = DataSupport.select("title", "content").where("commentcount > ?", "0").find(News.class);


List<News> newsList = DataSupport.select("title", "content")
        .where("commentcount > ?", "0")
        .order("publishdate desc").find(News.class);

List<News> newsList = DataSupport.select("title", "content")
        .where("commentcount > ?", "0")
        .order("publishdate desc").limit(10).find(News.class);

List<News> newsList = DataSupport.select("title", "content")
        .where("commentcount > ?", "0")
        .order("publishdate desc").limit(10).offset(10)
        .find(News.class);
激进查询
News news = DataSupport.find(News.class, 1, true);
List<Comment> commentList = news.getCommentList();

原生查询
Cursor cursor = DataSupport.findBySQL("select * from news where commentcount>?", "0");


使用LitePal的聚合函数(博客8)

https://guolin.blog.csdn.net/article/details/40614197

LitePal中一共提供了count()、sum()、average()、max()和min()这五种聚合函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值