数据库开源框架LitePal 2.0的使用

本文详细介绍LitePal数据库框架在Android开发中的应用,包括依赖导入、配置文件设置、数据对象创建、数据库更新、数据增删改查及异步操作等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库框架的简单使用,留作以后需要时查看,此使用方法也是从别人博客看来,自己经过实践后做记录,原博客地址https://www.jianshu.com/p/19731df3cd08,

1,导入框架

#Android studio 中使用,在build.gradl中添加依赖
dependencies {
        compile 'org.litepal.android:core:2.0.0'
}

#在Eclipse中使用
下载jar包
https://github.com/LitePalFramework/LitePal/tree/master/downloads

2,配置litepal.xml文件

#新建assets目录,在assets目录中新建litepal.xml文件
#As中assets目录新建在project模式下的main目录内,与java目录同级

<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <!--数据库名称-->
    <dbname value = "song"/>
    <!--数据库版本号-->
    <version value = "1"/>
    <!--将定义的数据实体类映射到数据表中-->
    <list>
        <mapping class="ben.Song"/>
    </list>

    <!--数据库文件存储路径,建议使用默认不配置此项-->
    <!--<stroage value=""/>-->
</litepal>

3,配置application

#若程序中没有定义自己的application类,在manifest.xml的application中如下添加
<application
        android:name="org.litepal.LitePalApplication"
        .
        .
        .
</application>

#若程序中有定义自己的application类,需要在自己定义的application中初始化
public class YourOwnApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        LitePal.initialize(this);
    }
    ...
}

3,创建数据对象

#创建数据对象,创建数据对象与创建javabean的方式类似,不同的是数据对象需要继承LitePalSupport
public class Song extends LitePalSupport {

    private String name;
    private String desc;
    private int time;

    //generated getters and setters.
}

#在litepal.xml文件中添加数据对象(路径指向数据对象),创建了几个数据对象,就添加几个<mappling/>

<!--将定义的数据实体类映射到数据表中-->
<list>
    <mapping class="com.example.eyesee.litepaldemo.ben.Song"/>
</list>

4,更新数据库

#更新数据库只需要修改数据对象,然后在litepal.xml中修改version版本号即可,在下次操作数据库时会自动更新

5,保存数据,需要实例化数据对象

Song song = new Song();
song.setName("Hello");
song.setDesc("music");
song.setTime(180);
song.save();

6,查询数据库(条件查询时还可对查询结果排序后输出)

#根据ID查询
Song song = LitePal.find(Song.class, id);

#查询全部数据
List<Song> allSongs = LitePal.findAll(Song.class);

#按条件查询
List<Song> hello = LitePal.where("name like ? and time < ?", "Hello","200").find(Song.class);

7,更新数据

#先查询到数据,然后更改数据,
Song songUpdate = LitePal.find(Song.class, 1);
songUpdate.setPrice(20.99f);
songUpdate.save();

//更新指定id的数据
Song songUpdate = new Song();
songUpdate .setPrice(20.99f);
songUpdate .update(id);

//更新全部数据
Song songUpdate = new Song();
songUpdate .setPrice(20.99f);
songUpdate .updateAll("name = ?", "song");

8,删除数据

LitePal.delete(Song.class, id);
LitePal.deleteAll(Song.class, "duration > ?" , "350");

9,异步操作,防止耗时过久

//异步保存
song.saveAsync().listen(new SaveCallback() {
    @Override
    public void onFinish(boolean success) {

    }
});

//异步删除
LitePal.deleteAllAsync(Song.class).listen(new UpdateOrDeleteCallback() {
    @Override
    public void onFinish(int rowsAffected) {

    }
});

//异步查询
LitePal.findAllAsync(Song.class).listen(new FindMultiCallback() {
    @Override
    public <T> void onFinish(List<T> t) {

    }
});

9,多数据库使用

//创建demo2.db数据库,同时创建singer,album,song表
LitePalDB litePalDB = new LitePalDB("demo2", 1);
litePalDB.addClassName(Singer.class.getName());
litePalDB.addClassName(Album.class.getName());
litePalDB.addClassName(Song.class.getName());
LitePal.use(litePalDB);

10,删除数据库

LitePal.deleteDatabase("demo2");

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值