greendao的使用
来源:互联网 发布:windows密码 编辑:程序博客网 时间:2024/05/22 00:28
1.配置gradle:
apply plugin: 'org.greenrobot.greendao' //添加这个插件,实现不用手动生成bean
compile 'org.greenrobot:greendao:3.0.1'
//执行build -- makeproject后自动生成bean dao到对应的位置
greendao{
//数据库版本号,更新时要修改+1
schemaVersion 2
//生成的包名
daoPackage "com.motian.greendaosrc.db.dao"
//生成到哪个路径下的包名
targetGenDir "src/main/java"
}
2.module gradle
dependencies {
classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'
}
3.编写实体bean
参考:http://greenrobot.org/greendao/documentation/updating-to-greendao-3-and-annotations/#Basic_propertyannotationsId_Property_etc
@Entity(
//如果有多个数据库,指定库的名字
//schema = "myschema",
//库是活跃的状态,活动实体有更新、删除和刷新方法。
//active = true,
//指定表名字
nameInDb = "user_db",
//定义在这里跨越多个列的索引
indexes = {@Index(value = "name DESC", unique = true)}
//是否创建在数据库,默认是true
//createInDb = false
)
public class User {
//long型属性值作为实体标识,在数据库术语中,它是主键,参数递增是一个标志,使ID值不断增加的(不重复使用旧的值)
@Id(autoincrement = true)
private Long id;
// 自定义字段
@Property(nameInDb = "user_id")
@Index(unique = true) // 建立索引
@NotNull
private String userId;
@Unique // 唯一
@NotNull
private String identity;
//属性可以让您定义一个非默认的列名称,该列名称映射到数据库
@Property(nameInDb = "user_name")
//唯一索引,使得所有name都是唯一
@Index(unique = true)
private String name;
@NotNull
private int repos;
private String loaction;
//数据库三范式一对一,指定一个实体bean(Customer)
//@ToOne(joinProperty = "customerId")
//private Customer customer;
//数据库三范式一对多,指定一个实体List(List)
//@ToMany(referencedJoinProperty = "ownerId")
//private List ownedSites;
//短暂的标记属性将被排除在持久性之外。使用这些临时状态,等等。另外,你也可以用java关键字
@Transient
private int tempUsageCount;
}
4.执行build -- make project 实体bean会对应的生成get set方法
5.升级的使用:
修改gradle schemaVersion 2 +1
@Override
public void onUpgrade(Database db, int oldVersion, int newVersion) {
MigrationHelper.migrate(db, UserDao.class);
}
实体bean中添加新的字段,执行第4步,即可使用
apply plugin: 'org.greenrobot.greendao' //添加这个插件,实现不用手动生成bean
compile 'org.greenrobot:greendao:3.0.1'
//执行build -- makeproject后自动生成bean dao到对应的位置
greendao{
//数据库版本号,更新时要修改+1
schemaVersion 2
//生成的包名
daoPackage "com.motian.greendaosrc.db.dao"
//生成到哪个路径下的包名
targetGenDir "src/main/java"
}
2.module gradle
dependencies {
classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'
}
3.编写实体bean
参考:http://greenrobot.org/greendao/documentation/updating-to-greendao-3-and-annotations/#Basic_propertyannotationsId_Property_etc
@Entity(
//如果有多个数据库,指定库的名字
//schema = "myschema",
//库是活跃的状态,活动实体有更新、删除和刷新方法。
//active = true,
//指定表名字
nameInDb = "user_db",
//定义在这里跨越多个列的索引
indexes = {@Index(value = "name DESC", unique = true)}
//是否创建在数据库,默认是true
//createInDb = false
)
public class User {
//long型属性值作为实体标识,在数据库术语中,它是主键,参数递增是一个标志,使ID值不断增加的(不重复使用旧的值)
@Id(autoincrement = true)
private Long id;
// 自定义字段
@Property(nameInDb = "user_id")
@Index(unique = true) // 建立索引
@NotNull
private String userId;
@Unique // 唯一
@NotNull
private String identity;
//属性可以让您定义一个非默认的列名称,该列名称映射到数据库
@Property(nameInDb = "user_name")
//唯一索引,使得所有name都是唯一
@Index(unique = true)
private String name;
@NotNull
private int repos;
private String loaction;
//数据库三范式一对一,指定一个实体bean(Customer)
//@ToOne(joinProperty = "customerId")
//private Customer customer;
//数据库三范式一对多,指定一个实体List(List)
//@ToMany(referencedJoinProperty = "ownerId")
//private List ownedSites;
//短暂的标记属性将被排除在持久性之外。使用这些临时状态,等等。另外,你也可以用java关键字
@Transient
private int tempUsageCount;
}
4.执行build -- make project 实体bean会对应的生成get set方法
5.升级的使用:
修改gradle schemaVersion 2 +1
@Override
public void onUpgrade(Database db, int oldVersion, int newVersion) {
MigrationHelper.migrate(db, UserDao.class);
}
实体bean中添加新的字段,执行第4步,即可使用
0 0
- 关于greenDao的使用
- greenDao的使用教程
- GreenDAO的简单使用
- GreenDao的使用
- GreenDao的使用
- GreenDao的使用
- GreenDao的使用
- greendao的使用
- greenDAO的使用
- GreenDao的使用心得
- Greendao的使用
- GreenDao的使用详解
- GreenDao数据库的使用
- GreenDao的使用
- greenDAO的使用
- GreenDao的使用
- GreenDao的使用
- greenDAO的使用
- Android 自定义View合集
- Android Studio 常见问题
- STM32之待机唤醒
- leetcode-117. Populating Next Right Pointers in Each Node II
- 7.imshow显示问题
- greendao的使用
- vue(一)——vue-cli的搭建
- 11.标识符_unicode和GBK_各种字符集的关系
- aaa
- 字符串使用下标的方式访问其中的元素不兼容ie7和ie6
- Java编程题自动评分技术的研究与实现(二)
- 一个android码农的2016年总结
- 蓝桥杯-入门训练-A+B问题
- 三种方式调整表空间大小:维保数据库时应该考虑。