一.首先我对数据库的操作基于LitePal的,是基于面向对象思想的,所以首先我先讲怎么使用LitePal

1.在build.garde(Module:app)里面的

 dependencies{
//添加的依赖
compile 'org.litepal.android:core:1.3.2'
}

导入以上的依赖,其中1.3.2是我当前使用的版本,你们可以自己去找最新的

2.配置litepal.xml文件。右击app/src/main目录->New->Directory,创建一个assets目录,然后

在assets目录下再新建一个litepal.xml文件,接着编辑litepal.xl文件中的内容,如下

 1 <?xml version="1.0" encoding="utf-8"?>
2 <litepal>
3 <dbname value="Person"></dbname>
4 <version value="1"></version>
5 <list>
6 <mapping class="cct.login.Person"></mapping>
7 </list>
8 </litepal>

<dbname>标签用于指定数据库名,<version>标签用于指定数据库版本号,<list>标签用于指定所有的

映射模型,以后就会用到,。<maping class=" ">这里面是你要生成数据库的类,因为会直接把你的类的

属性名变成数据库对应数据表的列名。如果要多一张表,就多一个mapping,里面写上对应的类,更新数据

库的话,只要每次在version 的value那边的值加1就可以了。

3.最后还需要配置一下LitePalApplication,修改AnndroidManifest.xml中的代码,如下

 1 <application
2 //只需要加下面一句就行了,其他的不用替换
3 android:name="org.litepal.LitePalApplication"
4 android:allowBackup="true"
5 android:icon="@mipmap/ic_launcher"
6 android:label="@string/app_name"
7 android:supportsRtl="true"
8 android:theme="@style/AppTheme">
9 ......
10 </application>

以上就是LitePal的配置工作

二.LitePal的粗略的增删改查的操作

1.创建数据库:

只需  Connector.getDatabase();

2.创建数据库中的表:

你的类要继承DataSupport,例如我需要一张Person的表

如果你在Person表里需要name和age俩个列

public class Person extends DataSupport{
private String name;
private String age;
public String getName() {
return useName;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return useName;
}
public void setAge(String age) {
this.age =age;
}
}

3.添加数据

 Person person =new Person ();
person.setName("Tom");
person.setAge("10);
//保存数据必须要save方法
person.save();

4.更新数据

 Person person =new Person ();
person.setName("Jane");
person.setAge("12");
4//就会把上面的Tom和10,改为Jane和12
person.updateAll(" name=? and age=?","Tom","10");

5.删除数据

DataSupport.deleteAll(Person.class,"age<?","10");//会把符合条件的数据删除掉

DataSupport.deleteAll()//如果不约束条件,你就要删除表中所有数据

6.查询数据

我们把查询到的数据通过日志打印出来,当然可以使用ListView了,不过出于

简便,使用日志打印

 //findAll()返回值是一个Person类型的List集合
List<Person> persons=DataSupport.findAll(Person.class);
for(Person person:persons)
{
Log.d("MainActivity",person.getName());
Log.d("MainActivity",person.getAge());
}
 //select()方法用于指导查询哪几列的数据,比如只查询name这列的数据
List<Person> persons=DataSupport.select("name).find(Book.class)
//where()方法用于指定查询的约束条件
List<Person>persons=
DataSupport.where("age>?","10").find(Book.class)
当然还有order,limit,offset方法了,具体我就不做介绍有兴趣的自己查阅
这五个方法还可以一起连缀使用
8 你还可以用原生态的Cursor c=DataSupport.findBySql();

LitePal用法详解的更多相关文章

  1. C#中string.format用法详解

    C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...

  2. @RequestMapping 用法详解之地址映射

    @RequestMapping 用法详解之地址映射 引言: 前段时间项目中用到了RESTful模式来开发程序,但是当用POST.PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没 ...

  3. linux管道命令grep命令参数及用法详解---附使用案例|grep

    功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...

  4. mysql中event的用法详解

    一.基本概念mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存 ...

  5. CSS中伪类及伪元素用法详解

    CSS中伪类及伪元素用法详解   伪类的分类及作用: 注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的 ...

  6. c++中vector的用法详解

    c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...

  7. AngularJS select中ngOptions用法详解

    AngularJS select中ngOptions用法详解   一.用法 ngOption针对不同类型的数据源有不同的用法,主要体现在数组和对象上. 数组: label for value in a ...

  8. systemctl命令用法详解

    systemctl命令用法详解系统环境:Fedora 16binpath:/bin/systemctlpackage:systemd-units systemctl enable httpd.serv ...

  9. CSS3的@keyframes用法详解:

    CSS3的@keyframes用法详解:此属性与animation属性是密切相关的,关于animation属性可以参阅CSS3的animation属性用法详解一章节. 一.基本知识:keyframes ...

随机推荐

  1. 2016/04/29 ①cms分类 ② dede仿站制作 步骤 十个步骤 循环生成菜单 带子菜单的菜单 标签 栏目 栏目内容列表 内容图片列表

    cms 系统还有: phpcms     企业站 Xiaocms  织梦  企业站 wordpress (博客) Ecshop 商城 Ecmall 多用户 Discms 记账 方维 订餐 团购 CMS ...

  2. jetty9 web app的部署

    jetty9将web app和web app的context配置文件都放在${JETTY_HOME}/webapps下面. 例如,如果有一个myapp.war,首先将其放入${JETTY_HOME}/ ...

  3. 20170212-备份ABAP程序

    把生产机上所有后续开发的CBO程序都备份下来.以备急用! 用过2种方法:1.写BDC程序,模拟 TCODE:SE38 -->Program --> Utilities(M)-->Mo ...

  4. JFreeChart教程(二)(转)

    JFreeChart教程(二) 分类: java Component2007-05-31 17:01 8408人阅读 评论(11) 收藏 举报 jfreechartstringplotclassdat ...

  5. 推荐一款很好用的调试js的eclipse插件

    ie调试的话用 Companion.JS 一个插件 很好用的 不用配置,直接安装eclipse调试的话 可以用jsdt 可能需要配置下 网上有很多说明http://wokaours.blog.163. ...

  6. linux系统无法上外网,路由器可以上网,可以ping通路由器,ping不通外网IP

    临时生效方法(添加路由网关),执行: #route add default gw 192.168.92.1   #根据实际网关IP填写 如果不行,使用下面方法: 一:使用 route 命令添加使用ro ...

  7. AutoIT: 对数据库的访问,数据提取操作

    #include<array.au3> $conn= ObjCreate("ADODB.Connection") $RS= ObjCreate("ADODB. ...

  8. Lightoj 1140(数位DP)

    求一个区间内的数含有多少个0. dp[len][pre]表示长度为len的数,含有pre个0. 需要加一个标记,来表示前缀是否为0(可以是一串连续的0),如果前缀一直为0,就一直搜,如果前缀不为0,就 ...

  9. fzu 2150(bfs)

     Problem 2150 Fire Game Accept: 693    Submit: 2657 Time Limit: 1000 mSec    Memory Limit : 32768 KB ...

  10. 8 个很有用的 jQuery 技巧(转)

    http://www.oschina.net/question/12_145472 一个基于web的标签设计,打印工具,超diao http://www.oschina.net/question/17 ...