美文网首页
Android-LitePal

Android-LitePal

作者: quanCN | 来源:发表于2019-05-10 16:34 被阅读0次

    简介

    LitePal是一个开源的Android库,采用的是对象关系映射(ORM)的模式,允许开发人员非常容易地使用SQLite数据库。无需编写SQL语句即可完成大部分数据库操作,包括创建或升级表,crud操作,聚合函数等.
    github

    配置

    • 导入依赖
      dependencies {
          implementation 'org.litepal.android:java:3.0.0'
      }
      
    • 配置litepal.xml文件
      在项目的src/main创建assets文件夹,并创建litepal.xml文件,配置如下
      <?xml version="1.0" encoding="utf-8"?>
      <litepal>
          <dbname value="demo" />
          <version value="1" />
          <list>
          </list>
      </litepal>
      
      • dbname配置项目的数据库名称
      • version配置数据库的版本
      • list配置映射类。
    • 配置LitePalApplication
      修改AndroidManifest.xml文件
      <manifest>
          <application
             android:name="org.litepal.LitePalApplication"
          </application>
      </manifest>
      

    创建表

    使用LitePal创建数据表是非常简单的只需要添加对应的javaBean即可,需要继承LitePalSupport,并在litepal.xml文件中加入对应的映射即可

    public class Book extends LitePalSupport{
        private int id;
        private String name;
        private Double price;
    
        /**
         * getter setter ....
         */
    }
    

    注:如用id,必须要用int或者long类型

    <list>
        <mapping class="app.mrquan.test2019.util.Book"></mapping>
    </list>
    

    增删改查

    • 增加
      LitePalSupport类提供了save()方法
      Book book = new Book();
      book.setId("1");
      book.setName("Thinking in JAVA");
      book.setPrice(100.12);
      book.save();
      
    • 删除
      LitePal.delete()删除单个数据
      LitePal.delete(Book.class,1);
      
      LitePal.deleteAll()删除多行数据
      LitePal.deleteAll(Book.class,"name = ?","Thinking in JAVA");
      
    • 修改
      通过update()方法,更新单个数据
      Book book = new Book();
      book.setPrice(67.8);
      book.update(1);
      
      通过updateAll()方法,使用where条件
      Book book = new Book();
      book.setPrice(67.8);
      book.setName("Thinking in JAVA");
      book.updateAll("name = ?","Thinking in JAVA");
      
    • 查询
      使用LitePal.find()方法查询一条数据
      Book book = LitePal.find(Book.class,1);
      
      使用LitePal.findAll()方法查询所有数据
      List<Book> books = LitePal.findAll(Book.class);
      
      where查询
      List<Book> bookList = LitePal.where("name = ?","asd").find(Book.class);
      

    相关文章

      网友评论

          本文标题:Android-LitePal

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