Android xUtils框架(一)DbUtils

转载 2015年07月09日 13:46:29

框架地址:https://github.com/wyouflf/xUtils


需要的权限

<uses-permissionandroid:name="android.permission.INTERNET"/>

    <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>


创建数据库

  DaoConfig config = new DaoConfig(context);

  config.setDbName("xUtils-demo"); //db名

  config.setDbVersion(1);  //db版本

  DbUtils db = DbUtils.create(config);//db还有其他的一些构造方法,比如含有更新表版本的监听器的


创建表

  db.createTableIfNotExist(User.class); //创建一个表User

    db.save(user);//在表中保存一个user对象。最初执行保存动作时,也会创建User表


删除表

  db.dropTable(User.class); 


开启事务

  db.configAllowTransaction(true);


db相关Annotation

  @Check    check约束
  @Column   列名
  @Finder   一对多、多对一、多对多关系(见sample的Parent、Child中的使用)
  @Foreign  外键
  @Id       主键,当为int类型时,默认自增。 非自增时,需要设置id的值
  @NoAutoIncrement  不自增
  @NotNull  不为空
  @Table    表名
  @Transient  不写入数据库表结构
  @Unique   唯一约束


一些常用方法

DbUtils db = DbUtils.create(this);
User user = new User(); //这里需要注意的是User对象必须有id属性,或者有通过@ID注解的属性
user.setEmail("wyouflf@qq.com");
user.setName("wyouflf");
db.save(user); // 使用saveBindingId保存实体时会为实体的id赋值

...
// 查找
Parent entity = db.findById(Parent.class, parent.getId());
List<Parent> list = db.findAll(Parent.class);//通过类型查找

Parent Parent = db.findFirst(Selector.from(Parent.class).where("name","=","test"));

// IS NULL
Parent Parent = db.findFirst(Selector.from(Parent.class).where("name","=", null));
// IS NOT NULL
Parent Parent = db.findFirst(Selector.from(Parent.class).where("name","!=", null));

// WHERE id<54 AND (age>20 OR age<30) ORDER BY id LIMIT pageSize OFFSET pageOffset
List<Parent> list = db.findAll(Selector.from(Parent.class)
                                   .where("id" ,"<", 54)
                                   .and(WhereBuilder.b("age", ">", 20).or("age", " < ", 30))
                                   .orderBy("id")
                                   .limit(pageSize)
                                   .offset(pageSize * pageIndex));

// op为"in"时,最后一个参数必须是数组或Iterable的实现类(例如List等)
Parent test = db.findFirst(Selector.from(Parent.class).where("id", "in", new int[]{1, 2, 3}));
// op为"between"时,最后一个参数必须是数组或Iterable的实现类(例如List等)
Parent test = db.findFirst(Selector.from(Parent.class).where("id", "between", new String[]{"1", "5"}));

DbModel dbModel = db.findDbModelAll(Selector.from(Parent.class).select("name"));//select("name")只取出name列
List<DbModel> dbModels = db.findDbModelAll(Selector.from(Parent.class).groupBy("name").select("name", "count(name)"));
...

List<DbModel> dbModels = db.findDbModelAll(sql); // 自定义sql查询
db.execNonQuery(sql) // 执行自定义sql

相关文章推荐

android高级框架xUtils之DbUtils

android高级框架之xUtils之DbUtils,将我们对数据库的操作变得更加简便。减少了我们写数据库操作的语句...

Android:开源框架xutils介绍之 DbUtils

操纵数据库的工具类,无论多牛X,总离不开最根本的CRUD,即创建,查询,更新和删除。下面从这四个角度依次介绍xUtils是如何简便持久化数据的。大家都知道,在Android里面如果要存储一个对象,我们...

Android开发框架xUtils3.x新手教学(一)SQLite数据库访问神器dBUtils

废话不说,想把大象装冰箱,总共分几步? 零、假设一个需求 设计一个App,保存学生以及他们的考试成绩。学号是学生们的唯一身份标示,成绩分为数学 语文 英语 三类 要求: 1,添加 删除 查询学生 2,...

Android Xutils框架使用之DBUtils

主要代码:package com.example.hfs.dbutilsdemo;import android.support.v7.app.AppCompatActivity; import and...
  • Greathfs
  • Greathfs
  • 2016年07月10日 00:22
  • 17748

android开发步步为营之109:好框架推荐android xutils之dbutils

XUtils好像是一个中国程序猿写的开源框架,挺不错的,我们项目里面有用他的DbUtils,封装了系统自带的Sqlite的用法。这里介绍下DbUtils的常用用法。 XUtils项目地址:https:...

Android_GitHub_xUtils之DbUtils、ViewUtils、HttpUtils、BitmapUtils

sourse from:https://github.com/wyouflf/xUtils xUtils简介 xUtils3 api变化较多, 已转至 https://github.com/wy...

Android快速开发框架xUtils-2.6.14

  • 2015年03月13日 11:07
  • 1.08MB
  • 下载

android okGo、okHttp、XUtils网络框架使用

一、XUtils网络框架使用 1、先导入xutils的library库,然后在build.gradle中添加下面代码 //xutils compile project(':xutils') ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android xUtils框架(一)DbUtils
举报原因:
原因补充:

(最多只允许输入30个字)