LitePal数据库使用

是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,并将我们平时开发时最常用到的一些数据库功能进行了封装,使得不用编写一行SQL语句就可以完成各种建表、増删改查的操作。其实Litepal的jar包很小,不到100k,但是用起来确实很方便,尤其是对于我这样的补数据sql语句的人来说,它里面的代码都是Android正常写的代码相关,后面会给出一个小Demo。
接下来说说怎么一步步介入Litepal框架,以及如何使用框架进行则删改查操作:首先,介入jar包,在build.gride里面:

compile ‘org.litepal.android:core:1.4.1’

一个很重要的配置就是Application文件,如果没有自定义的Application文件那就直接在manifest中将application设置名为org.litepal.LitePalApplication

 

 

 

<application  
android:name="org.litepal.LitePalApplication"  
android:allowBackup="true"  
android:icon="@mipmap/ic_launcher"  
android:label="@string/app_name" 
android:roundIcon="@mipmap/ic_launcher_round"  
android:supportsRtl="true"  
android:theme="@style/AppTheme"> 
<activity android:name=".MainActivity"> 
<intent-filter> <action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> 
</activity> 
</application>
 

如果已经有自定义的Application文件直接,让自己定义的application文件继承LitePalApplication;到这边结束,配置LitePal算是结束了,接下来看怎么用这个框架创建数据库和表了:其实主要是在我们的资源文件下建litepal.xml中创建表:

 
<?xml version="1.0" encoding="utf-8"?> 
<litepal> <dbname value="BookStore" />
<version value="1" /> <list> <mapping class="com.zhong.litepal.Book" /> 
<mapping class="com.zhong.litepal.Person" /> </list> 
</litepal>
 

dbname就是我们创建的数据库的名字,version数据库的版本,在我们需要升级数据库的时候,需要在这里面把版本号修改成大于当前版本的数字;下面list里面的就是我们创建的表,上面的代码中已经创建了两个表分别是Book和Persion,这两其实就是两个bean类,里面涵盖了各个字段,代表着数据库里面的各个字段,list里面写入这两bean的绝对路径;这两个bean需要继承打他DataSupport类,接下来说一下怎么对这些表进行增删改查操作,直接上代码吧:

 
 
onCreate方法中调用LitePal.getDatabase();初始化数据
添加数据:
Book book = new Book(); 
book.setAuthor("张三"); 
book.setId(1); 
book.setName("草本纲目");
book.setPrice(90.00); 
book.setPages(890); 
book.save(); Book 

book2 = new Book();
book2.setAuthor("李时珍"); 
book2.setId(2); 
book2.setName("上下五千年"); 
book2.setPrice(190.00); 
book2.setPages(5860); 
book2.save();

删除数据:

DataSupport.deleteAll(Book.class,"price > ?","100");

修改数据:

Book book = new Book();
book.setAuthor("张三");
book.setId(1);
book.setName("草本纲目");
book.setPrice(90.00);
book.setPages(890);
book.save();
book.setPrice(0.99);
book.save();

多种查询数据:

List<Book> booklist = DataSupport.findAll(Book.class);
for(Book book:booklist){
    Log.i("zhong",book.getName());
}
List<Book> booklist2 = DataSupport.select("name","张三").find(Book.class);
List<Book> booklist3 = DataSupport.where("pages > ?","600").find(Book.class);
//查询book中的全部数据按照price降序,asc则表示升序排列
List<Book> booklist4 = DataSupport.order("price desc").find(Book.class);
//查询表中的前3条数据
List<Book> booklist5 = DataSupport.limit(3).find(Book.class);
//查询表中的2,3,4条数据
List<Book> booklist6 = DataSupport.limit(3).offset(1).find(Book.class);
//查询Book表中第11~20条满足页数大于400这个条件的name,author,pages这三列数据,并且按照页数升序排列;
List<Book> booklist7 = DataSupport.select("name","张三","pages")
        .where("pages > ?","400")
        .order("pages")
        .limit(10)
        .offset(10)
        .find(Book.class);

其实,LitePal里面还涵盖了更加全面的操作方法,这里没有一一列举,有兴趣的可以自己查询一下了解一下,附上上面小Demo的链接:点击打开链接

 

 

 

 

 

 

 
 
 
 
 
 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值