zoukankan      html  css  js  c++  java
  • 关于DButils的简单介绍

    android中的orm框架,一行代码就可以进行增删改查;支持事务,默认关闭;可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名)等等。

    android有一个内置数据库Sqlite 数据库,想要实现数据库的创建要继承SQLiteOpenHelper类覆写onCreat的方法进行数据的创建;而且还要另外创建一个数据库操作类,进行对数据库的增删改查,在没有了解 DbUtils之前呢,也习惯了这种数据库的处理数据的方式,在了解熟悉了DbUtils之后,发现这种方式特别的繁琐麻烦。一下是对DbUtils的详解:

    一。创建数据库

    1
    2
    3
    4
    DbUtils db=DbUtils.create(MainActivity.this);
    Child  child = newChild();
     
    db.save(child);

    这只要三行代码就完成了数据库的创建及数据的插入工作。这里需要注意的是Child对象必须有Id属性,或者有通过@Id注解的属性。

    db.save(child);//则表示插入一条数据对象

    查询操作,分别是按条件查询,与查询所有数据

    1
    2
    3
    4
    5
    6
    List<Child> childrens = db.findAll(Selector.from(Child.class).where(
    "id""<"2));
    Child children = db.findFirst(Selector.from(Child.class).where(
    "id","=","4"));
     
    List<Child> children=db.findAll(Child.class);

    删除操作按条件删除或者删除所有

    1
    2
    3
    4
    5
    6
    List<Child> child = dbUtils.findAll(Selector.from(Child.class));
    dbUtils.delete(child.get(0));
    dbUtils.deleteAll(child);
    dbUtils.deleteById(Child.class, WhereBuilder.b("age""="20));
    dbUtils.dropTable(Child.class);
    dbUtils.dropDb();

    修改操作

    1
    2
    3
    4
    Child child = newChild();
    child.setId("1");
    child.setName("lisi");
    db.update(child);

    通过以上的代码分析与Sqlite数据操作相比较,可明显比较出其的孰优劣汰。DbUtils操做数据库直接调用内置方法就可以,不用像Sqlite数据库那样在新建的操作类中定义其数据库的增删改查的方法。

  • 相关阅读:
    排序算法之归并排序(Merge Sort)
    排序算法之选择排序
    [BUUCTF]REVERSE——firmware
    [BUUCTF]REVERSE——[WUSTCTF2020]Cr0ssfun
    [BUUCTF]PWN——hitcontraining_magicheap
    [BUUCTF]PWN——ciscn_2019_n_3
    [BUUCTF]PWN——[V&N2020 公开赛]easyTHeap
    [BUUCTF]PWN——babyfengshui_33c3_2016
    [BUUCTF]PWN——babyheap_0ctf_2017
    CTFHub[PWN技能树]——栈溢出
  • 原文地址:https://www.cnblogs.com/pastor/p/5077836.html
Copyright © 2011-2022 走看看