首页 技术 正文
技术 2022年11月24日
0 收藏 711 点赞 5,156 浏览 2023 个字

 

Litepal采用的是对象关系映射(ORM)模式 LitePal的配置工作。1.添加依赖 

compile 'org.litepal.android:core:1.3.2'

2.配置litepal.xml文件  在src/main创建assets目录 然后在目录下创建一个litepal.xml文件

<?xml version="1.0" encoding="utf-8"?>
<litepal>
<dbname value="BookStore"></dbname> <version value=""></version> <list></list> <!--dbname标签用于指定数据库名
version用于指定数据库版本号
list标签用于指定所有的映射模型-->
</litepal>

3.配置LitepalApplication 修改AndroidManifest中的代码

<application
android:name="org.litepal.LitePalApplication"

创建和升级数据库

创建:

1.写一个java bean2.将写的java bean 的类添加到影射模型列表中修改litepal.xml里的list标签

<list>
<mapping class="co.example.leo.litepal.Book"></mapping>
<!--使用mapping标签声明我们要配置的映射模型类,一定要使用完整的类名-->
</list>

3.调用创建数据库

Connector.getDatabase();    

升级:

如果想要添加一个列 只需直接修改Book类中代码 添加一个字段即可如果需要添加一个表 只需新建一个java bean 然后将版本号加1 并将类添加到映射模型列表中 Litepal 添加数据Litepal进行表管理的操作时不需要模型类有任何的继承结构,但进行CRUD的时候,必须要继承自DataSupport类才可以1、让模型类继承自DataSupport 2. 设置数据 调用save方法

Button addData = (Button)findViewById(R.id.add_data);
addData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Book book = new Book();
book.setName("The Da Vinci Code");
book.setAuthor("Dan Brown");
book.setPages();
book.setPrice(16.96);
book.setPress("Unknow");
book.save();
}
});

Litepal 更新数据

最简单的一种更新方式就是对已经存储的对象重新设值 然后重新调用save()方法即可已存储的对象: 对象是否以存储就是根据调用model.isSaved()方法的结果来进行判断即可,返回true表示已存储,false表示未存储 一种情况是已经调用过modle.save()方法去添加数据了另一种情况是model对象是通过Litepal提供的查询API查出来的这两种情况都会返回true

 Button updateData = (Button)findViewById(R.id.update_data);
updateData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Book book = new Book();
book.setName("The Da Vinci Code");
book.setAuthor("Dan Brown");
book.setPages();
book.setPrice(16.96);
book.save();
book.setPages();
book.save();
}
});

显示添加了一条Book数据 然后调用setPages对书的页数进行了修改,之后再次调用save方法。第二种方式

public void onClick(View v) {
Book book = new Book();
book.setPages();
book.updateAll("name = ?","The Da Vinci Code");
}

 

设置默认值
Book book = new Book()
book.setDefault("pages");
book.updateAll();

 

删除数据

    //第一个参数用于指定删除那张表的数据 后面的参数用于指定约束条件
DataSupport.deleteAll(Book.class,"price < ?","");

查询数据

List<Book> books = DataSupport.findAll(Book.class);
for(Book book : books){}

Litepal的其他查询API

LitePal

 LitePal

LitePal

LitePal

LitePal

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,990
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,504
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,348
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,133
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,765
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,843