GreenDao框架,生成类个人注释
2016-04-03 11:09
316 查看
0、GreenDao框架是访问数据库
1、前提首先导入GreenDao的jar包或者导入GreenDao源代码
2、注意 GreenDao生成项目,可是java工程哦
3、留下生成类的注释
1、前提首先导入GreenDao的jar包或者导入GreenDao源代码
2、注意 GreenDao生成项目,可是java工程哦
3、留下生成类的注释
public class TestCase { private static int mDbVersion = 1; //数据库版本号 private String mModelPackage = "com.wp.wpsqltest.bean"; //这个包名,正是你要放到Android应用中的包名,牛逼 private Schema mSchema = new Schema(mDbVersion, mModelPackage); //new一个Schema实例对象,这个还没有明白有啥用? public TestCase() { super(); } public void init() { //定义一个实体,cao,就是一张表啊 Entity entityHeader = mSchema.addEntity("Header"); //闹半天Shema下的addEntity实例方法可以得到一个Entity实例对象,传入的参数要求是String的类名 entityHeader.implementsSerializable(); //实现序列化接口?这里不明白这个方法是干什么用的 entityHeader.addIdProperty(); //addIdProperty方法返回一个PropertyBuilder实例对象,不明白这个方法具体的用途,说是定义一个id字段主键,但是表在哪? //增加一个字段? 没错 entityHeader.addStringProperty("headerName").notNull();//还能设置这个字段的属性,不可以为空指 //又一个Entity实例对象,又一张表 Entity entityItem = mSchema.addEntity("Item"); entityItem.implementsSerializable(); entityItem.addIdProperty(); entityItem.addStringProperty("itemName").notNull(); //说是用于多张表的设计字段,不是特别的明白 Property Itemid = entityItem.addLongProperty("ItemId").getProperty(); //又是一张表 Entity entityStudent = mSchema.addEntity("Student"); entityStudent.implementsSerializable(); entityStudent.addIdProperty(); entityStudent.addStringProperty("studentName"); //又是一张表 Entity entityTeacher = mSchema.addEntity("Teacher"); entityTeacher.implementsSerializable(); entityTeacher.addIdProperty(); entityTeacher.addStringProperty("teacherName"); //又是一张表 ,没明白 long字段有啥用 Entity entityTeacherAndStudent = mSchema.addEntity("TeacherAndStudent"); Property teacherId = entityTeacherAndStudent.addLongProperty("teacherId").getProperty(); Property studentId = entityTeacherAndStudent.addLongProperty("studentId").getProperty(); //树桩结构,cao,完全没明白,实现1对多 Entity entityTree = mSchema.addEntity("Tree"); entityTree.addIdProperty(); //加入id字段 entityTree.addStringProperty("treeName"); //再加入字段treeName Property parentId = entityTree.addLongProperty("parentId").getProperty(); entityTree.addToOne(entityTree, parentId).setName("parent"); //这里还没有明白,addToOne返回一个OneTo实例对象,然后又调用了它的setName方法, entityTree.addToMany(entityTree,parentId).setName("children"); //外键添加1对多,这里没有懂 entityItem.addToOne(entityHeader, Itemid); ToMany addToMany = entityHeader.addToMany(entityItem, Itemid); addToMany.setName("Items"); //下面实现的是多对多,greenDao不支持多对多,这里我也不明白 entityTeacherAndStudent.addToOne(entityStudent, studentId); entityTeacherAndStudent.addToOne(entityTeacher, teacherId); entityStudent.addToMany(entityTeacherAndStudent, studentId).setName("studentsteachers"); entityTeacher.addToMany(entityTeacherAndStudent, teacherId).setName("studentsteachers"); } public static void main(String args[]) throws Exception { TestCase testCase = new TestCase(); testCase.init(); testCase.mSchema.enableKeepSectionsByDefault(); //这个方法是干什么用的? testCase.mSchema.enableActiveEntitiesByDefault();//这个方法是干什么用的。Schema实例对象下的方法,平时可不推荐这么写,这么写我就打你头 String outDir = "D:\\workspaceNew\\WpSqlTest\\src"; //指定路径 new DaoGenerator().generateAll(testCase.mSchema, outDir); //这个outDier一定要理解,就是android项目的路径 } }
相关文章推荐
- 依赖与关联的比较
- 大数据工程师:大数据的java基础 第七周
- 第六周上机实践项目-项目3-IP地址类
- 我是一个线程(修订版)
- leetcode @python 127. Word Ladder
- BC#78 (div.2)CA Loves GCD【N个数gcd】
- HDU 4172解题报告
- Hadoop 2.6.0 hbase 0.98 Java API 调用实例
- 揭秘12306技术改造(三):传统框架云化迁移到内存数据平台
- [Nutch]Ubuntu配置Java环境
- 关于span
- 第六课 linux下进程描述与进程创建
- (四)一个简单的删除链表中某个元素的算法
- 技术揭秘12306改造(二):探讨12306两地三中心混合云架构
- 0033类模板定义实例化等细节
- 编写一个方法,返回double型二维数组“1,2;3,4,5;6,7,8”
- Java 中无参带返回值方法的使用
- 输出平面上三角形的面积
- Linux -- 查询CPU信息
- 测试 使用qemu模拟 启动树莓派