DBFarmer是PowerFramework数据库管理工具的集合。

可以进行对象的存储,添加了setter和getter的参数会被收录到数据库中,每个参数作为一个项,int类型的id或_id会被作为primary key。

数据库名为DBFarmer.db,在项目目录下。每个对象的表名为类的全名替换"."为"_",如com.source.beans.Person的表名为com_source_beans_Person。

private int id = 0;
private int num1 = 0;
private double num2 = 1.0;
private String str = "hello";
private boolean isEnable = true;
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public double getNum2() {
return num2;
}
public void setNum2(double num2) {
this.num2 = num2;
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
public boolean isEnable() {
return isEnable;
}
public void setEnable(boolean isEnable) {
this.isEnable = isEnable;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}

  

1、插入,调用save方法

TestBeanNoID bean = new TestBeanNoID();
DBFarmer.save(this,bean);

2、删除指定id记录,deleteById方法

DBFarmer.deleteById(this, TestBean.class, 0);

3、删除全部,deleteAll方法

DBFarmer.deleteAll(this, TestBean.class, 0);

4、单个条件删除,deleteByItem方法

//删除其中itemName=itemValue的全部内容
DBFarmer.deleteByItem(this, TestBean.class,"itemName","itemValue");

5、单个条件更新,updateByItem方法

和删除一样,当前还没有支持多个条件和like等形式,在不久的未来会开发出来

//更新其中itemName=itemValue的全部内容
TestBeanNoID bean = new TestBeanNoID();
DBFarmer.deleteByItem(this,"itemName","itemValue", bean);

6、查询,全部,findAll

List<TestBeanNoID> list = DBFarmer.findAll(this, TestBeanNoID.class);
for(TestBeanNoID b2 : list){
Log.i(TAG, b2.getAccount() + "," +b2.getPassword());
}

7、根据ID查询,find

根据ID查找一个,当该JavaBean没有id 或者 _id的时候不能查询,返回null

TestBeanNoID b = DBFarmer.find(this, 0, TestBeanNoID.class);
if(b == null){
Log.i(TAG, "TestBeanNoID is null");
}else{
Log.i(TAG, "TestBeanNoID id:" + b.getAccount());
}

8、清空数据库,clearAll

DBFarmer.clearAll(this);

  

框架和DEMO文件下载地址  http://www.ideayapai.com/Application/Home/View/default/PowerFamily/index-2.htm

欢迎各位大牛、大神莅临QQ群进行交流:575026537

开源的Android开发框架-------PowerFramework使用心得(四)数据库管理DBFarmer的更多相关文章

  1. 开源的Android开发框架-------PowerFramework使用心得(一)总体介绍

    PowerFramework是一款几乎囊括了所有Android基础功能的框架应用,这个框架目前是开源的,开发者可以在这个框架的基础上进行二次开发.结合开发者自己的UI设计,可以很快就能开发出具备基础应 ...

  2. 开源的Android开发框架-------PowerFramework使用心得(五)网络请求HTTPRequest

    GET请求示例 //所有参数都使用Bundle,用putString Bundle bundle = new Bundle(); bundle.putString("username&quo ...

  3. 开源的Android开发框架-------PowerFramework使用心得(二)图片异步加载ImageTask

    图片异步加载.可以备注图片是否缓存.缓存状态. 1.缓存-SD卡,路径可设置 2.图片压缩 3.可加载本地和网络图片 4.url为本地视频文件可以显示缩略图 5.中文url图片地址FileNotFou ...

  4. 开源的Android开发框架-------PowerFramework使用心得(三)内置浏览器BrowserActivity

    使用内置浏览器必须是引用源码的方式(因为jar中不能打包布局文件等资源).内置浏览器是一个继承自BaseActivity的普通Activity,使用WebView实现. 1.简单的打开内置浏览器 In ...

  5. Android adb shell学习心得(四)

    1.awk中的sub sub为替换函数.形式如 sub(/1/,"",$2) 将第二个变量的第一个1替换为空,若将sub替换为gsub.则替换全部的1. 2.awk中的-F 分隔符 ...

  6. Android studio 使用心得(四)—android studio 多渠道打包(二)

    Android studio 使用心得(四)—android studio 多渠道打包 这篇文章讲了一种打包方式.是直接在android studio 里面可视化操作,结合配置文件.我个人觉得严格上来 ...

  7. Android 开发框架汇总

    Android 开发框架汇总 时间过的真快,转眼间就要进入到16年的8月了,现在应该是三伏期间,一个字“热”.前端时间整理了一篇“JS前端框架汇总”,然后紧接着又抽时间学习了一下Android开发,在 ...

  8. Android 开发框架介绍

    一.概述 现android开发有很多开发框架使用,做App不一定用到框架,但好框架的思想也是值得学习.选择合适的开发框架可提供实用功能,简化项目开发提升效率. 二.Afinal框架 简介 Afinal ...

  9. Android 开源组件 ----- Android LoopView无限自动轮转控件

    Android 开源组件 ----- Android LoopView无限自动轮转控件 2015-12-28 15:26 by 杰瑞教育, 32 阅读, 0 评论, 收藏, 编辑 一.组件介绍 App ...

随机推荐

  1. nodejs and db

    http://blog.nosqlfan.com/tags/nodejs http://www.cnblogs.com/windwithlife/archive/2013/02/25/2923235. ...

  2. API通常的url语法

    ?后面带的是get方式传递的值,如果有多个值,用 & 号分割.另外正式项目一般不用get方式传递,容易被人sql注入,即所谓的入侵. 详细看这篇http://www.cnblogs.com/k ...

  3. 【UVA1379】Pitcher Rotation (贪心+DP)

    题意: 你经营者一直棒球队.在接下来的g+10天中有g(3<=g<=200)场比赛,其中每天最多一场比赛.你已经分析出你的n(5<=n<=100)个投手中每个人对阵所有m个对手 ...

  4. 【HDOJ】1686 Oulipo

    kmp算法. #include <cstdio> #include <cstring> ], des[]; ], total; void kmp(char des[], cha ...

  5. poj1849

    不难发现每条边最多走两次,最少走一次也就是我们要在所有走两次的边中选两条从根出发没有公共边的路径使路径上的边少走一次显然我们找的是最长路径

  6. Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍

    磁盘分区表.文件系统的查看.统计的工具很多,有些工具是多功能的,不仅仅是查看磁盘的分区表,而且也能进行磁盘分区的操作:但在本文,我们只讲磁盘分区的查看,以及分区的使用情况的查看:本文只是给新手上路之用 ...

  7. UILabel,文字添加下划线,中划线

    //显示下划线 //中划线 //        NSDictionary *attribtDic = @{NSStrikethroughStyleAttributeName: [NSNumber nu ...

  8. [置顶] [MATLAB技术贴]漫谈MATLAB矩阵转置

    矩阵转置是matlab最基本的操作了,但这个基本操作,也是很多初学者容易出现问题的地方.本帖通过几个实例演示matlab矩阵转置的操作. 方法一:'  运算符与  .'  运算符 >>a ...

  9. maven怎么引入自定义jar的详细图文教程

    1 首先找到你的maven的配置文件{你maven的路径}\conf\settings.xml,然后打开settings.xml,并修改你存放本地jar路径.如我想把我自己的jar放到C:\Users ...

  10. VMware workstation12 pro安装Ubuntu14.04LTS过程笔记

    由于近期需要加强自己在Linux/C++编程方面的需要,把原来的CentOS6.5格了....在windows8.1系统上重新安装了VMware和Ubuntu... VMware安装Ubuntu的过程 ...