• 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']        }    }

  • 相关阅读:
    The XOR Largest Pair
    似乎在梦中见过的样子 (KMP)
    Censoring(栈+KMP)
    KMP解决最小循环节问题
    收集雪花 (贪心+双指针+离散化)
    「POI2010」反对称 Antisymmetry (manacher算法)
    A Horrible Poem (字符串hash+数论)
    leetcode103——二叉树的锯齿形层次遍历
    leetcode102 ——二叉树的层序遍历
    二叉树——100 相同的树(easy)
  • 原文地址:https://www.cnblogs.com/SoulCode/p/5561098.html
Copyright © 2020-2023  润新知