美文网首页
数据库LitePal

数据库LitePal

作者: 若兮生生 | 来源:发表于2017-05-19 15:54 被阅读113次

    1.简介
    litepal是android开源数据库框架,采用对象关系映射的模式,不使用SQL语句就可完成数据库的操作。github主页:https://github.com/LitePalFramework/LitePal
    2.Android Studio 配置Litepal
    a.添加依赖

    dependencies {
        compile 'org.litepal.android:core:1.5.1'
    }
    

    b.新建litepal.xml文件
    在app/src/main目录下新建一个assets目录,在assets目录下新建litepal.xml文件,接着编辑litepal.xml文件的内容。

    <?xml version="1.0" encoding="utf-8" ?>
        <litepal>
        <dbname value="BookStore"></dbname>
        <version value="2"></version>
        <list>
            <mapping class="com.example.jyj.myapplication.databaseModel.Book"></mapping>
            <mapping class="com.example.jyj.myapplication.databaseModel.Animals"></mapping>
        </list>
    </litepal>
    

    其中</dbname>标签用于指定数据库名称,</version>标签用于指定数据库版本号, <list>标签用于指定所有的映射类型。
    c.配置application
    在清单文件的<application 里面配置为:android:name="org.litepal.LitePalApplication".
    如果你有自己的Application,则在Application的onCreat里面对数据库进行初始化

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

    3.使用
    对象关系映射模式,用面向对象的思维来编辑数据库
    我对书创建一个数据库:这是一个典型的Java bean,
    继承DataSupport,是为了CRUD操作

    public class Book  extends DataSupport{
        private String name;
        private int price;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getPrice() {
            return price;
        }
    
        public void setPrice(int price) {
            this.price = price;
        }
    }
    

    我们要把Book类添加到映射模型当中,修改第二步的litepal.xml中的代码,

     <mapping class="com.example.jyj.myapplication.databaseModel.Book"></mapping>
    

    这里使用</mapping>标签来声明我们配置的映射模型类,注意一定要使用完整的类名。
    不管有多少模型需要映射,使用</mapping>标签配置在 </list>标签下即可。
    4.调用
    创建数据库,只需要一个简单的语句就好

    Connector.getDatabase();
    

    往数据库里面添加数据

            Book book=new Book();
            book.setName("浮生六记");
            book.setPrice(25);
            book.save();
    

    sava()方法是DataSupport类中继承而来的,能完成数据的添加操作。调用save()后,数据保存到数据库的表中。每个model类就是一张表
    更新数据

    book.updateAll("name = ? and price=?","秦时明月","30");
    

    删除数据

    DataSupport.deleteAll(Book.class,"price < ?","15");
    

    Book.class用于指定哪张表,后面是限定条件

    查询数据

    List<Book> books=DataSupport.findAll(Book.class);
    

    查询的结果放在list集合里面,可以随便操作了

    其他查询方式
    查询那几列?

    List<Book> books=DataSupport.select("name","price").find(Book.class);
    

    指定约束条件查询

    List<Book> books=DataSupport.where("price > ?","20").find(Book.class);
    

    查询降序排列,desc表示降序,不写或者asc表示升序

    List<Book> books=DataSupport.order("price   desc").find(Book.class);
    

    指定查询数量
    查找前3条

    List<Book> books=DataSupport.limit(3).find(Book.class);
    

    查询结果偏移量
    查询3条,从第二条开始,如下是2.3.4条数据

    List<Book> books=DataSupport.limit(3).offset(1).find(Book.class);
    

    以上语法可以连缀

    相关文章

      网友评论

          本文标题:数据库LitePal

          本文链接:https://www.haomeiwen.com/subject/npyyxxtx.html