LitePal的使用
2017-05-29 16:42
155 查看
LitePal 是一个开源的Android数据库框架,采用ORM的模式(将面向对象的语言和面向关系的数据库之间建立的一种映射关系)。
LitePal的使用文档地址是:https://github.com/LitePalFramework/LitePal
一:配置LitePal
1.在build.gradle中加入LitePal的引用:即(compile ‘org.litepal.android:core:1.5.1’)
注意加入了加黑部分,1.5.1是版本号,最新的版本号可以在LitePal的主页上看。
2.配置litepal.xml文件。
在src下新建文件夹,命名为assets(这个目录防止资源文件,不会自动生成id,也不会自动占用空间),并创建一个litepal.xml文件,内容为:
3.在AndroidManifest.xml文件中稍作修改:(加入 android:name=”org.litepal.LitePalApplication
)
这样,LitePal就配置好了可以使用了。
二 LitePal创建数据库
1.首先创建一个Book类,一定要继承DataSupport类:
2.将Book类添加到映射模型列表中,修改litepal.xml如下:
3.数据库的创建只需调用一句代码即可:
如果想要修改数据表,或添加表,直接在定义的类中修改,改好后把版本号添加1即可:
如:把Book表添加一个属性press,
然后修改版本号:
三 LitePal添加数据
直接给对象赋值,然后调用.save()方法。
如:
这样即向数据库中添加了一条数据
四.LitePal更新数据
法一:
法二:
法三,把数据更新为默认值:
这样即把所有书的页数都更新为0。
五 LitePal删除数据
六 LitePal查询数据
其他查询语句:
1.查询第一条或最后一条数据:
2.连缀查询定制更多功能的查询
当然,LitePal还支持使用原生的SQL来进行查询,调用DataSupport.findBySQL()方法。
以上即介绍了LitePal的简单用法,相比较SQLite数据库,简化了代码的书写,很好用。
LitePal的使用文档地址是:https://github.com/LitePalFramework/LitePal
一:配置LitePal
1.在build.gradle中加入LitePal的引用:即(compile ‘org.litepal.android:core:1.5.1’)
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.2.0' testCompile 'junit:junit:4.12' compile 'org.litepal.android:core:1.5.1' }
注意加入了加黑部分,1.5.1是版本号,最新的版本号可以在LitePal的主页上看。
2.配置litepal.xml文件。
在src下新建文件夹,命名为assets(这个目录防止资源文件,不会自动生成id,也不会自动占用空间),并创建一个litepal.xml文件,内容为:
<?xml version="1.0" encoding="utf-8"?> <litepal> <!--数据库名 --> <dbname value="BookStore" /> <!--数据库版本号 --> <version value="2" /> <!--数据库中的对象的映射类型 --> <list> </list> </litepal>
3.在AndroidManifest.xml文件中稍作修改:(加入 android:name=”org.litepal.LitePalApplication
)
<application android:name="org.litepal.LitePalApplication android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> ... </application>
这样,LitePal就配置好了可以使用了。
二 LitePal创建数据库
1.首先创建一个Book类,一定要继承DataSupport类:
public class Book extends DataSupport{ private int id; private String name; private String author; private double price; private int page; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPage() { return page; } public void setPage(int page) { this.page = page; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } }
2.将Book类添加到映射模型列表中,修改litepal.xml如下:
<?xml version="1.0" encoding="utf-8"?> <litepal> <dbname value="BookStore" /> <version value="1" /> <list> <mapping class="com.skylight.litepaltest.Book"/> </list> </litepal>
3.数据库的创建只需调用一句代码即可:
LitePal.getDatabase();
如果想要修改数据表,或添加表,直接在定义的类中修改,改好后把版本号添加1即可:
如:把Book表添加一个属性press,
public class Book extends DataSupport{ private int id; private String name; private String author; private double price; private int page; private String press; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPage() { return page; } public void setPage(int page) { this.page = page; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public String getPress() { return press; } public void setPress(String press) { this.press = press; } }
然后修改版本号:
<version value="2" />
三 LitePal添加数据
直接给对象赋值,然后调用.save()方法。
如:
Book book=new Book(); book.setName("The Da Vinci Code"); book.setAuthor("Dan Brown"); book.setPage(454); book.setPrice(16.96); book.save();
这样即向数据库中添加了一条数据
四.LitePal更新数据
法一:
Book book1=new Book(); book1.setName("The Lost Symbol"); book1.setAuthor("Dan Brown"); book1.setPage(510); book1.setPrice(19.95); book1.setPress("Unknow"); book1.save(); book1.setPrice(10.99); book1.save();
法二:
Book book2=new Book(); book2.setPrice(14.95); book2.setPress("Anchor"); book2.updateAll("name = ? and author = ?","The Lost Symbol","Dan Brown");
法三,把数据更新为默认值:
Book book=new Book();< b660 /span> book.setToDefault("page"); book.updateAll();
这样即把所有书的页数都更新为0。
五 LitePal删除数据
DataSupport.deleteAll(Book.class,"price < ?","15");
六 LitePal查询数据
List<Book> books=DataSupport.findAll(Book.class); for(Book book:books){ Log.i(book.getName()+"**"+book.getAuthor()+"**"+book.getPrice()+"**"+book.getPage()); }
其他查询语句:
1.查询第一条或最后一条数据:
//查询第一条数据 Book book=DataSupport.findFirst(Book.class); //查询最后一条数据 Book book1=DataSupport.findLast(Book.class);
2.连缀查询定制更多功能的查询
//select()方法指定查询,如:仅查询书名和作者这两列 List<Book> books=DataSupport.select("name","author").find(Book.class); //where()方法指定查询条件,如:查询页数小于400的 List<Book> books1=DataSupport.where("page < ?","400").find(Book.class); //order()方法指定排序的结果,默认asc 升序排列 List<Book> books2=DataSupport.order("price desc").find(Book.class); //limit()方法指定查询结果的数量,如:只查表中的前3条数据 List<Book> books3=DataSupport.limit(3).find(Book.class); //offset()方法指定查询结果的偏移量,如查询表中的第2,3,4,条数据 List<Book> books4=DataSupport.limit(3).offset(1).find(Book.class); //任意组合的连缀 List<Book> books5=DataSupport.select("name","author","page") .where("page > ?","400") .order("page desc") .limit(10) .offset(10) .find(Book.class);
当然,LitePal还支持使用原生的SQL来进行查询,调用DataSupport.findBySQL()方法。
以上即介绍了LitePal的简单用法,相比较SQLite数据库,简化了代码的书写,很好用。
相关文章推荐
- Android数据库高手秘籍(四)——使用LitePal建立表关联
- Android数据库高手秘籍——使用LitePal升级表
- (转载)Android数据库高手秘籍(四)——使用LitePal建立表关联
- Android数据库高手秘籍(八)——使用LitePal的聚合函数
- Android数据库高手秘籍——使用LitePal升级表
- Android数据库高手秘籍(三)——使用LitePal升级表
- (转载)Android数据库高手秘籍(八)——使用LitePal的聚合函数
- Android开发中的LitePal使用总结
- Android数据库高手秘籍(三)——使用LitePal升级表
- Android数据库高手秘籍(二)——使用LitePal升级表
- Android数据库高手秘籍(三)——使用LitePal升级表
- LitePal使用问题记录
- (转载)Android数据库高手秘籍(三)——使用LitePal升级表
- Android数据库高手秘籍(四)——使用LitePal建立表关联
- LitePal 开源项目使用
- Android数据库高手秘籍(三)——使用LitePal升级表
- 使用LitePal建立表关联
- Android数据库高手秘籍(三)——使用LitePal升级表
- Android数据库高手秘籍(八)——使用LitePal的聚合函数
- LitePal专业数据库框架使用