android中的orm框架,一行代码就可以进行增删改查;支持事务,默认关闭;可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名)等等。
android有一个内置数据库Sqlite 数据库,想要实现数据库的创建要继承SQLiteOpenHelper类覆写onCreat的方法进行数据的创建;而且还要另外创建一个数据库操作类,进行对数据库的增删改查,在没有了解 DbUtils之前呢,也习惯了这种数据库的处理数据的方式,在了解熟悉了DbUtils之后,发现这种方式特别的繁琐麻烦。一下是对DbUtils的详解:
一。创建数据库
1 2 3 4 | DbUtils db=DbUtils.create(MainActivity. this ); Child child = new Child(); 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 ); |
删除操作按条件删除或者删除所有
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();
修改操作
Child child =
new
Child();
child.setId(
"1"
);
child.setName(
"lisi"
);
db.update(child);
通过以上的代码分析与Sqlite数据操作相比较,可明显比较出其的孰优劣汰。DbUtils操做数据库直接调用内置方法就可以,不用像Sqlite数据库那样在新建的操作类中定义其数据库的增删改查的方法。