Android:日常学习笔记(10)———使用LitePal操作数据库

提兵百万西湖上,立马吴山第一峰!这篇文章主要讲述Android:日常学习笔记(10)———使用LitePal操作数据库相关的知识,希望能为你提供帮助。
android:日常学习笔记(10)———使用LitePal操作数据库 引入LitePal 什么是LitePal
LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,将平时开发时最常用的一些数据库功能进行了封装,使得开发者不用编写一行SQL语句就可以完成各种建表、増删改查的操作。并且LitePal很“轻”,jar包大小不到100k,而且近乎零配置,这一点和Hibernate这类的框架有很大区别。目前LitePal的源码已经托管到了GitHub上。

关于对象关系映射:
我们使用的对象语言是面向对象语言,而使用的数据库则是关系型数据库,将面向对象的语言与面向关系的数据库之间建立一种映射关系,这就是对象关系映射。我们可以不用编写任何SQL语句,而用面向对象的设计思想操作数据库。
配置LitePal
1.添加依赖
Android:日常学习笔记(10)———使用LitePal操作数据库

文章图片

2.编写XML配置文件 
< ?xml version="1.0" encoding="utf-8" ?> < litepal> < dbname value="https://www.songbingjia.com/android/BookStore"> < /dbname> //数据库名称 < version value="https://www.songbingjia.com/android/1"> < /version> //数据库版本 < list> < /list> < /litepal>  

  说明:
< dbname> 是数据库的名字 < version> 是数据库的版本号 < list> 是数据库的映射模型(数据库表) < mapping> 是数据库的映射模型的地址(数据库表结构)

3.配置LitePalApplication
< application android:name="org.litepad.LitePalApplication" .....> .... < /application>

创建和升级数据库 创建数据库及Book表
1.定义javaBean
public class Book { privateint id; private String author; private double price; private int pages; private String name; public int getId() { return id; }public void setId(int id) { this.id = id; }..... }

2.将Book类添加到映射模型列表中
< ?xml version="1.0" encoding="utf-8" ?> < litepal> < dbname value="https://www.songbingjia.com/android/BookStore"> < /dbname> < version value="https://www.songbingjia.com/android/1"> < /version> < list> < mapping class="com.example.zy.dealhelper.database.Book"> < /mapping> < /list> < /litepal>

3.调用命令创建数据库
public void onClick(View v) { Connector.getDatabase(); }

4.litePal会自动创建数据库和Mapping对象类的数据表 
Android:日常学习笔记(10)———使用LitePal操作数据库

文章图片

升级数据库
LitePal升级数据库非常简单,你完全不需要思考任何的逻辑,只需要修改你想改的任何内容,然后将版本后递增即可。比如我们要往Book表中添加一列,如press(出版社),直接在JavaBean中添加即可。
public class Book { privateint id; private String author; private double price; private int pages; private String name; private String press; //出版社public String getPress() { return press; }public void setPress(String press) { this.press = press; } ...... }

或者想多创建一张表,你也只需要再写一个JavaBean类就好。
public class Catagory { private int id; private String categoryName; public int getId() { return id; }public void setId(int id) { this.id = id; } ...... }

别忘了最后再LitePal的配置文件中,加入mapping和更新版本号
Android:日常学习笔记(10)———使用LitePal操作数据库

文章图片

增删改查 添加数据
使用LitePal添加数据异常简单:
  我们只需要创建出模型类并将数据设置好,调用save()方法即可。
前提:
要执行CURD操作的数据表必须继承自DataSupport
Android:日常学习笔记(10)———使用LitePal操作数据库

文章图片

  实例:
public void onClick(View v) { Book book =new Book(); book.setName("The Da Vinci Code"); book.setAuthor("Dan Brown"); book.setPages(454); book.setPrice(16.96); book.setPress("Unknow"); book.save(); //只需要调用继承方法,save()即可 }

更新数据
对已存储对象重新设值:
Android:日常学习笔记(10)———使用LitePal操作数据库

文章图片

条件匹配:
Android:日常学习笔记(10)———使用LitePal操作数据库

文章图片

切记如果不指定条件会更新所有记录的!
删除数据
DataSupport.deleteAll(Book.class,"price < ?","15")

查询数据
简单查询:
//查找某表的所有数据 List< Book> books =DataSupport.findAll(Book.class); //第一条数据 Book first =DataSupport.findFirst(Book.class); //最后一条数据 Book last =DataSupport.findLast(Book.class);

连缀查询:
Android:日常学习笔记(10)———使用LitePal操作数据库

文章图片

关于ADB启动错误的解决方案:
1、CMD命令窗口输入:adb nodaemon server 。然后就会提示你哪个端口被占用了。
2、输入netstat -ano | findstr "5037" 。然后会弹出提示告诉你哪些进程占用了该端口,记住非0地址的后面的数字
3、打开任务管理器,点击“进程“,“查看”-“选择列”,勾选PID
4、查找第2步中看到的数字PID,然后结束相关进程,即可
 
 
 
 

【Android:日常学习笔记(10)———使用LitePal操作数据库】 

    推荐阅读