配置
compile 'com.j256.ormlite:ormlite-android:5.0'
官网:http://ormlite.com/
为什么使用?
这个工具可以帮我们创建表,简化了自己写创建语句的步骤!前提是我们必须要有实体!
使用
图1 图21. @DatabaseField(canBeNull = false),
canBeNullb 表示 goodsAddress 在表中可以为空
2. @DatabaseField(canBeNull = false,foreign = true,
foreignColumnName = "_id",columnName = "user_id"),foreign 表示表中 user_id 列与
UserBean 表中的 _id 列相关联
图31. 使⽤ @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、实现构造,这里一般只保留上下文即可
图43、在onCreate方法里面,使⽤ TableUtils.createTable ⽅法创建表
图54、onUpgrade ⽅法,是用来升级数据库的
结束语:
一定要注意多个表的对应关系,比如一个收货人可以有多个地址。那么在收货人的表里面就要包涵一个地址集合,比如:图3中
图6在地址表里要有对应的收货人,这里只是一个对象不能是集合。比如:图1中
图7
网友评论