强大的Android数据库框架之LitePal
LitePal框架的使用
1.简介
LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,将平时开发时最常用的一些数据库功能进行了封装,使得开发者不用编写一行SQL语句就可以完成各种建表、増删改查的操作。
2.用LitePal创建数据库
2.1导入依赖
implementation 'org.litepal.android:core:1.6.1'
2.2配置文件litepal.xml的配置
- 新建assets文件夹
该目录创建在app/src/main文件夹下,并且与java和res文件夹同级。 - 在assets文件夹下创建litepal.xml文件,在该文件里面编写数据库的相关属性,具体内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<litepal>
<!-- 数据库名 -->
<dbname value="file"></dbname>
<!-- 数据库版本号 -->
<version value="1"></version>
<list>
<!-- 数据表:用于指定所有的映射模型-->
</list>
</litepal>
2.3配置AndroidManifest.xml文件中的内容,在下增加内容以下内容。(内容固定)
android:name="org.litepal.LitePalApplication"
2.4创建数据表
- 创建一个类(类就相当于数据库里面的数据表,相应字段就是数据表里面的字段)
根据对象关系映射模式的理念,每一张表都应该对应一个模型(Model),也就是说,如果我们想要建一张Book表,就应该有一个对应的Book模型类。
新建一个Book类,LitePal要求所有的实体类都要继承自DataSupport这个类。
public class Book extends DataSupport {
private String title;
private float price;
private String name;
public Book(String title, float price, String name) {
this.title = title;
this.price = price;
this.name = name;
}
public Book(int price, String name) {
this.price = price;
this.name = name;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
- 将这个类引入到litepal.xml文件的list标签里面
<mapping class="com.example.litepal.Book"></mapping>
效果如下图所示
<?xml version="1.0" encoding="utf-8" ?>
<litepal>
<!-- 数据库名 -->
<dbname value="file"></dbname>
<!-- 数据库版本号 -->
<version value="1"></version>
<list>
<!-- 数据表:用于指定所有的映射模型-->
<mapping class="com.example.litepal.Book"></mapping>
</list>
</litepal>
数据库的创建完成
3.数据库的操作(增、删、改、查)
3.1数据表里面数据的添加
Book book=new Book("python数据分析",45.2f,"人民教育出版社");
book.save();
Book book1=new Book("Hadoop开发与实战",62.3f,"人民教育出版社");
book1.save();
3.2数据表里面数据的删除
DataSupport.deleteAll(Book.class, "title =?", "python数据分析");
Book book4 = new Book("Hadoop开发与实战", 20.6f, "人民教育出版社");
book4.save();
book4.delete();
3.3数据表里面数据的更新
Book book5=new Book("数据分析",65.9f,"人民教育出版社");
book5.save();
book5.setPrice(15.6f);
book5.save();
3.4数据表里面数据的查询
- 查询全部
List<Book> date= DataSupport.findAll(Book.class);
- 精确查询
//根据书名查找,并按照某字段排序
List<Book> books_ = DataSupport.where("title= ?","python数据分析").order("price").find(Book.class);
参考文档:
https://www.jianshu.com/p/b3ba76aee2b9
https://github.com/LitePalFramework/LitePal
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~