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;
} }
这样就设置了数据库的表和实体类的对应关系,当进行数据库操作时,如果数据库还没有这张表,就会新建一张表,表的名称和实体类的名称相同,表的字段就是实体类的属性。
在AndroidManifest.xml文件中的application节点加上配置:
android:name="org.litepal.LitePalApplication"
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),查询ID为1、3、5的数据;
(2)DataSupport.select().where().order().find(Myclass.class),指明了要查询的字段以及查询条件;
(3)Cursor cursor = DataSupport.findBySQL(),按照SQL语句查询;
(4)DataSupport.findFirst(),查询第一条记录;
(5)DataSupport.findLast(),查询最后一条记录。
Android ORM -- Litepal(1)的更多相关文章
- Android ORM -- Litepal(2)
4. 更新数据 ContentValues value = new ContentValues(); value.put("name", "计算机网络2"); ...
- 最好的5个Android ORM框架
在开发Android应用时,保存数据有这么几个方式, 一个是本地保存,一个是放在后台(提供API接口),还有一个是放在开放云服务上(如 SyncAdapter 会是一个不错的选择). 对于第一种方式, ...
- Android ORM应用开发框架KJFrameForAndroid使用详解
本文将为大家介绍一款Android ORM应用开发框架KJFrameForAndroid,很多时候我们也叫它KJLibrary. KJFrameForAndroid简介 KJFrameForAndro ...
- 推荐的Android ORM框架
1. OrmLite OrmLite 不是 Android 平台专用的ORM框架,它是Java ORM.支持JDBC连接,Spring以及Android平台.语法中广泛使用了注解(Annotation ...
- 简单实用的Android ORM框架TigerDB
TigerDB是一个简单的Android ORM框架,它能让你一句话实现数据库的增删改查,同时支持实体对象的持久化和自动映射,同时你也不必关心表结构的变化,因为它会自动检测新增字段来更新你的表结构. ...
- 最受欢迎的5个Android ORM框架
在开发Android应用时,保存数据有这么几个方式, 一个是本地保存,一个是放在后台(提供API接口),还有一个是放在开放云服务上(如 SyncAdapter 会是一个不错的选择). 对于第一种方式, ...
- Android ORM SQL Top 5
If you are developing an Android application, you will likely need to store data somewhere. You may ...
- Android ORM——初识greenDAO 3及使用greenDAO 3前应该掌握的一些知识点(一)
引言 总所周知,SQLite--内嵌于Android中一个占用内存极小的关系型,作为我们Android存储领域中重要的一员 ,或多或少都曾接触到数据库.即使Android系统中提供了很多操作SQLit ...
- Android ORM 框架之 greenDAO 使用心得
前言 我相信,在平时的开发过程中,大家一定会或多或少地接触到 SQLite.然而在使用它时,我们往往需要做许多额外的工作,像编写 SQL 语句与解析查询结果等.所以,适用于 Android 的ORM ...
随机推荐
- CentOS7使用firewalld打开关闭防火墙与端口(转载)
1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firewalld 停止: systemctl disabl ...
- Log4net - 规则简介
参考页面: http://www.yuanjiaocheng.net/CSharp/csharprumenshili.html http://www.yuanjiaocheng.net/entity/ ...
- JVM类加载
JVM的类加载机制就是:JVM把描述类的class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被JVM直接使用的Java类型 ClassLoader JVM中的ClassLoade ...
- jQuery可自动播放动画焦点图插件Koala
Koala是一款简单而实用的jQuery焦点图幻灯片插件,焦点图不仅可以在播放图片的时候让图片有淡入淡出的动画效果,而且图片可以自动播放.该jQuery焦点图的每一张图片都可以设置文字描述,并浮动在图 ...
- java web学习总结(五) -------------------servlet开发(一)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
- SAP CRM 树视图(TREE VIEW)
树视图可以用于表示数据的层次. 例如:SAP CRM中的组织结构数据可以表示为树视图. 在SAP CRM Web UI的术语当中,没有像表视图(table view)或者表单视图(form view) ...
- 微信开发笔记(accesstoken)
access_token分两种 一种是公众号权限获取用,调用cgi-bin接口 ,此种token一个公众号同时只有一个,用这一个就够了. 服务器最好缓存. 用这个token前提是用户关注了此公众号. ...
- 如何获取url中的参数并传递给iframe中的报表
在使用报表软件时,用户系统左边一般有目录树,点击报表节点就会在右侧网页的iframe中显示出报表,同时点击的时候也会传递一些参数给网页,比如时间和用户信息等.如何使网页中的报表能够获取到传递过来的参数 ...
- Java中的进程和线程
Java中的进程与线程 一:进程与线程 概述:几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进程运行时,内部可能包括多个顺序执行流,每个顺序执行流就是 ...
- a标签绝对定位,点击区域被图片遮挡(IE下)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...