使用LitePal插件操作数据库(增删改查)讲解与实例

什么是LitePal

是一款开源的Android数据库框架
LitePal将我们平常用到的数据库功能进行封装,不用使用SQLite语句就可以完成建表,增删改查等操作,比SQLite使用简单多了。

如何使用LitePal

首先需要说明的是,以下操作都是我对LitePal文档的解读(其实就是翻译)
文档地址LitePal在GitHub上面的使用文档链接

这里写图片描述

打开网页从这里开始看(快速安装)

使用步骤(结合实例):

1.Edit your build.gradle file and add below dependency: 在所在项目的build.gradle中添加依赖:
dependencies {
    compile 'org.litepal.android:core:1.6.1'
}
2. Configure litepal.xml 在app/src/main目录新建directory,创建一个assets目录,然后在里面新建一个litepal.xml文件,在里面添加如下内容:
<?xml version = “ 1.0encoding = “ utf-8 ”?>
< litepal >
     < -
        定义应用程序的数据库名称。
        默认情况下,每个数据库名称都应以.db结尾。
        如果您没有用.db命名数据库端,
        LitePal会自动为您添加后缀。
        例如:     
        <dbname value =“demo”/> 
- > 
    < dbname value = “ demo ” />     

    < -
        定义数据库的版本。每次你想
        升级数据库时,版本标签都会有所帮助。
        修改您在映射标签中定义的模型,并将
        版本值加1,数据库的升级
        将自动处理而不用担心。
            例如:     
        <version value =“1”/> 
- > 
    < version value = “ 1 ” />     

    < -
        使用映射标签在列表中定义模型,LitePal将为
        每个映射类创建表格。
        模型中定义
的支持字段将被映射到列中。       例如:     
        <list> 
            <mapping class =“com.test.model.Reader”/> 
            <mapping class =“com.test.model.Magazine”/> 
        </ list> 
- > 
    < list >    
    </ list >

</ litepal >

3.Configure LitePalApplication 配置LitePalApplication:在AndroidManifest.xml 中添加一句话:

<manifest>
    <application
        android:name="org.litepal.LitePalApplication"
        ...
    >
        ...
    </application>
</manifest>
这样使用LitePal的配置工作就已经完成了,下面就可以使用它了
1. Create tables 创建表:表名为Album和 Song ,注意要最后生成get和set方法
public class Album extends DataSupport {

    @Column(unique = true, defaultValue = "unknown")
    private String name;

    private float price;

    private byte[] cover;

    private List<Song> songs = new ArrayList<Song>();

    // generated getters and setters.
    ...
}
public class Song extends DataSupport {

    @Column(nullable = false)
    private String name;

    private int duration;

    @Column(ignore = true)
    private String uselessField;

    private Album album;

    // generated getters and setters.
    ...
}
然后将类添加到 litepal.xml中
<list>
    <mapping class="org.litepal.litepalsample.model.Album" />
    <mapping class="org.litepal.litepalsample.model.Song" />
</list>
最后在创建标的按钮下创建表
 case R.id.main_create_btn:
                SQLiteDatabase db = LitePal.getDatabase();
                break;
通过插件可以看到我们所建的表

这里写图片描述

这样表就创建好了
2. Save data 保存数据,也就是插入数据,在插入按钮处添加语句:
 case R.id.main_add_btn:
                Album album = new Album();
                album.setName("cheng du");
                album.setPrice(10.99f);
                album.save();
                Toast.makeText(MainActivity.this,"插入成功",Toast.LENGTH_SHORT).show();
                break;

这里写图片描述

3. Update data更新数据,在添加数据的按钮下添加代码:
case R.id.main_update_btn:
                Album albumToUpdate = DataSupport.find(Album.class, 11);
                albumToUpdate.setPrice(20.99f); // raise the price
                albumToUpdate.save();
                Toast.makeText(MainActivity.this,"更新成功",Toast.LENGTH_SHORT).show();
                break;

这里写图片描述

4. Delete data 删除数据
case R.id.main_delete_btn:
                int row = DataSupport.delete(Album.class, 11);
                break;

这里写图片描述

5. Query data 查询数据:
case R.id.main_query_btn:
                Album album2 = new Album();
                album2 = DataSupport.find(Album.class,12);
                Log.e(TAG, "onClick: "+album2.getName() );
                break;

这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/shaochen2015821426/article/details/79791232