GreenDao数据库框架

    .关于GreenDao的描述:

    

    .GreenDao是将一个对象映射到数据库中轻量且快速的ORM解决方案。

      ORM:对象关系映射,即对象关系映射。

      ORM的思想是将数据库表的数据映射成一个对象,然后就可以通过这个对象对数据库进行增、删,更新等操作。

    .GreenDao 的优点:

    内存开销小,简易的API,性能高度优化等。

    配置GreenDao的步骤具体如下:

    1,在./src/main目录下创建一个与java文件同一层级别java-gen文件夹

    2,在app文件夹里的build.gradle文件中的android{  } 里面引入SourceSets,如下:

              sourceSets {

                               main {

                                            java.srcDirs = ['src/main/java', 'src/main/java-gen']

                                         }

                                   } 

    3,在app文件夹里的build.gradle文件中的dependencies花括号里添加:

      compile 'de.greenrobot:greendao:2.1.0'

          compile 'de.greenrobot:greendao-generator:2.1.0'    

     

    4, 如上图显示:选择工程 -> new  -> Module -> JavaLibrary ,新建一个module模块,如下

    

    5. 在新建的Modudle模块中添加builder.gradle文件中的dependencies{}里添加:

       compile 'de.greenrobot:greendao-generator:2.1.0'  

    6.在DaoMaker.java文件中建立数据库表语句,并执行主函数,最后在java-gen文件里会自动生成如下文件:

    

  那么整个配置GreenDao完成了,就可以直接使用DaoMaster,DaoSenssion类对数据库进行操作。

  下面是DaoMaker.java具体代码:

  

 1 package com.example;
 2 
 3 import de.greenrobot.daogenerator.DaoGenerator;
 4 import de.greenrobot.daogenerator.Entity;
 5 import de.greenrobot.daogenerator.Schema;
 6 
 7 public class DaoMaker {
 8 
 9 
10     public static  void  main(String[] args){
11 
12         //生成数据库的实体类XXentity 对应的是数据库的表
13         Schema schema = new Schema(1,"com.student.entity");
14         addStudent(schema);
15         schema.setDefaultJavaPackageDao("com.student.dao");
16         try{
17             new DaoGenerator().generateAll(schema,"/Users/luoliwen/AndroidStudioProjects/GreenDao_Projects/app/src/main/java-gen");
18         }catch(Exception e){
19            e.printStackTrace();
20         }
21 
22 
23     }
24 
25     //创建数据库的表
26     private static  void addStudent(Schema schema){
27         Entity entity  =schema.addEntity("Student");//创建数据库的表
28         entity.addIdProperty();//主键 是 int类型
29         entity.addStringProperty("name");//对应的数据库的列
30         entity.addStringProperty("address");//对应的数据库的列
31         entity.addIntProperty("age");//对应的数据库的列
32     }
33 }

       

 sourceSets {        main {            java.srcDirs = ['src/main/java', 'src/main/java-gen']        }    }

原文地址:https://www.cnblogs.com/SoulCode/p/5561098.html