LitePal
熟悉Android的人都知道Android自带了一个SQLite数据库Android也给了一些api来操作它,不过有一个更好用的API就是LitePal。
LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,将平时开发时最常用的一些数据库功能进行了封装,使得开发者不用编写一行SQL语句就可以完成各种建表、増删改查的操作。并且LitePal很“轻”,jar包大小不到100k,而且近乎零配置,这一点和Hibernate这类的框架有很大区别。目前LitePal的源码已经托管到了GitHub上。
LitePal的配置
配置LitePal很简单,打开LitePal找到下图的地方。
把下面代码复制到Android项目的app/build.gradle的dependencies{}里面即可。
|
|
其中1.4.1代表版本号,想要最新的版本号去打开LitePal找即可。
然后点击Sync Now,即可成功引入Jar包。
接下来配置litepal.xml文件,在app/src/main目录下新建assets文件夹,在assets文件夹中新建litepal.xml文件输入以下内容
|
|
为了方便LitePal获得Context对象最后还要修改AndroidManifest.xml,在< application>标签
中加入android:name=”org.litepal.LitePalApplication”
|
|
当然也可以在直接用 LitePal.initialize(Context);方法传递Context以便LitePal能正常运行。
LitePal创建数据库和表的建立更新与删除
LitePal的建立表很简单,想要新建一个Book表就新建定义一个Book类
|
|
很明显这是一个javabean,在Book表里面定义了id,author,price,pages,name字段,并生成setter和getter方法。
接下来需要把Book类映射模型列表当中,修改litepal.xml
|
|
最后只要任意进行一次数据库的操作,Bookstore.db即可自动创建完毕。这里我使用的是 Connector.getDatabase();方法。
|
|
如果要新建多一个表只需要重复之前的动作即可,若要修改已生成的表字段只需要修改你要改的表的类,若要删除表就把相关代码删除。
做完所有的更改操作后最后在< litepal>标签下的 < version value=”1” />里面的版本号加1即可。
注意:id字段在LitePal为默认自增主键,类型只能为int。
LitePal添加数据
LitePal添加数据(初级)
LitePal添加数据(初级)很简单,用Book类的各种set方法对数据设置,最后使用save方法保存即可。
|
|
LitePal添加数据(进阶)
看完剩下的,你就会进阶玩法了。
LitePal更新数据
LitePal更新数据,可以看到new了一个Book,然后直接set要修改的值,最后使用updateAll方法指定更新的条件,这里指定的是name =”新华字典” 同时 author =”新华出版社”的数据,若updateAll里面什么都不填则是修改全部的pages字段。
|
|
注意,若你想把pages改为默认值0是不能直接book.setPages(0);的,
LitePal提供了改默认值的setToDefault方法,如以下代码。
|
|
LitePal删除数据
LitePal删除数据和更新数据差不多,这里表示删除book表里面price>15的数据。
若deleteAll不填条件则是删除book表全部的内容。
|
|
LitePal查询数据
返回全部结果
|
|
较复杂的查询操作
|
|
LitePal使用原生的方法查询数据
LitePal同时也支持原生的查询数据
|
|