首页 > 代码库 > Android ORM -- Litepal(1)
Android ORM -- Litepal(1)
ORM,即Object Relation Mapping,对象关系映射,实现了程序里面的类和数据库里面的数据之间的对应关系,对数据库的操作可以通过对类的操作去实现,不用再写SQL语句,从而提高了开发效率,节省了开发时间。
在Java Web开发中,有很多的ORM框架,如Hibernate等。在Android开发中,也有一些ORM框架,实现了对SQLite数据库的操作。比如说Litepal、GreenDAO、OrmLite等。本文重点介绍Litepal。
1. 映射文件和实体类
下载Litpal的Jar文件,并复制到libs文件夹下面。在assets文件夹下面新建一个litepal.xml文件:
<?xml version="1.0" encoding="utf-8"?><litepal> <dbname value="easydb" /> <version value="1" /> <list> <mapping class="com.example.hzhi.fragmentdemo.Myclass" /> </list></litepal>
其中Myclass是实体类:
package com.example.hzhi.fragmentdemo;import org.litepal.crud.DataSupport;/** * Created by Administrator on 2016/8/27. */public class Myclass extends DataSupport { private Integer Id; private String Name; private String Teacher; private Integer Studytime; private String Picture; public Myclass() { } public Myclass(Integer id, String name, Integer studytime, String teacher, String picture) { Id = id; Name = name; Studytime = studytime; Teacher = teacher; Picture = picture; } public Integer getId() { return Id; } public void setId(Integer id) { Id = id; } public String getName() { return Name; } public void setName(String name) { Name = name; } public String getTeacher() { return Teacher; } public void setTeacher(String teacher) { Teacher = teacher; } public Integer getStudytime() { return Studytime; } public void setStudytime(Integer studytime) { Studytime = studytime; } public String getPicture() { return Picture; } public void setPicture(String picture) { Picture = picture; }}
这样就设置了数据库的表和实体类的对应关系,当进行数据库操作时,如果数据库还没有这张表,就会新建一张表,表的名称和实体类的名称相同,表的字段就是实体类的属性。
2. 插入数据
代码很简单:
mc = new Myclass(); mc.setId(0); mc.setName("计算机网络"); mc.setTeacher("张三"); mc.setStudytime(120); mc.save();
是不是几乎和Hibernate的插入数据一模一样?省去了写SQL语句的麻烦!
3. 查询数据
public static List<Myclass> listClass;listClass = DataSupport.findAll(Myclass.class);
以上语句是查询出所有的记录。还有其他一些方法:
(1)DataSupport.findAll(Myclass.class, 1, 3, 5),表明查询第1、3、5条数据;
(2)DataSupport.select().where().order().find(Myclass.class),指明了要查询的字段以及查询条件;
(3)Cursor cursor = DataSupport.findBySQL(),按照SQL语句查询。
Android ORM -- Litepal(1)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。