2018-03-08 OrmLite简单使用

2018-03-08  本文已影响0人  啤酒小龙虾

配置

compile 'com.j256.ormlite:ormlite-android:5.0'

官网:http://ormlite.com/

为什么使用?

这个工具可以帮我们创建表,简化了自己写创建语句的步骤!前提是我们必须要有实体!

使用

图1 图2

1. @DatabaseField(canBeNull = false),

canBeNullb 表示 goodsAddress 在表中可以为空

2. @DatabaseField(canBeNull = false,foreign = true,

foreignColumnName = "_id",columnName = "user_id"),foreign 表示表中 user_id 列与

UserBean 表中的 _id 列相关联

图3

1. 使⽤ @DatabaseTable(tableName = "t_user") 注解标识要创建表的

JavaBean,使⽤ tableName 的值指定表名

2. 使⽤ @DatabaseField(columnName = "_id", id = true) 注解标识列的数

据的值所对应的字段,使⽤ columnName 的值指定表的列名,使⽤ id

的值指定是否为 id 字段

3. 使⽤ @ForeignCollectionField(eager = true) 注解,表示当查询

UserBean 的时候可以查询相关的 AddressBean,eager=true表示集合

中的数据⽴刻查询出来,否则使⽤懒加载,在集合被迭代遍历的时候才

去数据库查询

4. 注意 ForeignCollection addressList,地址列表我们使⽤的是

ForeignCollection 类型的集合,注解使⽤的是 @ForeignCollectionField

5. User 和 Address 的关系是⼀对多的关系, ⼀个⽤户可以有多个收货地址

以上为定义表的部分,下面看一下创建的部分

1、自定义类继承OrmLiteSqliteOpenHelper,实现未实现的方法。

2、实现构造,这里一般只保留上下文即可

图4

3、在onCreate方法里面,使⽤ TableUtils.createTable ⽅法创建表

图5

4、onUpgrade ⽅法,是用来升级数据库的

结束语:

一定要注意多个表的对应关系,比如一个收货人可以有多个地址。那么在收货人的表里面就要包涵一个地址集合,比如:图3中

图6

在地址表里要有对应的收货人,这里只是一个对象不能是集合。比如:图1中

图7
上一篇下一篇

猜你喜欢

热点阅读