Android干货Android开发经验谈android实用技术

greendao的使用

2016-03-05  本文已影响4583人  BlainPeng

以前开发用到数据库时,基本上都是用android原生的sql语句,写那些语句时稍有不慎,就给你抛出一个exception。现在网上有很多的数据库ORM框架,今天写篇文章来记录一下比较好用的框架:greendao的使用。关于greendao的介绍,网上已经有很多了,可以自行查阅。


准备工作

QQ20160305-0@2x.png QQ20160305-1@2x.png QQ20160305-2@2x.png

在java module中的build.grade文件中添加以下代码:

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

自动生成数据库Bean和Dao类

以下是java module中类的实现

  public class GreenDaoGeneratorTest {
      //自动生成类的包名  
      public static String PACKAGE_NAME = "com.blainpeng.greendao"; 
      //这里的OUT_DIR就是我们新建的java-gem的路径     
      public static String OUT_DIR = "/Users/Desktop/AndroidProject/GreenDaoDemo/app/src/main/java-gen";    
      public static void main(String[] args) throws Exception {        
      // 1、创建一个用于添加实体(entity)的模式(Schema)对象      
      Schema schema = new Schema(1, PACKAGE_NAME); //第一个参数为数据库的版本号 
       // Schema schema = new Schema(2, PACKAGE_NAME);版本号升级
      // 2、获得了Schema对象后就可以添加实体了,也就是添加数据库表了。   
        addCustomer(schema);      
      // 3、利用DaoGenerator类生成代码,并将自动生成的代码放到指定的目录       
        new DaoGenerator().generateAll(schema, OUT_DIR);    
      }
        
      private static void addCustomer(Schema schema) {
      // 4、一个实体类就关联到数据库中的一张表,此处表名为:Customer         
        Entity entity = schema.addEntity("Customer");         
      // 5、设置数据库表中的字段(greenDao会自动根据实体类的属性来创建表字段,并赋予默认值)       
        entity.addIdProperty().autoincrement();            
        entity.addStringProperty("name").notNull();            
        entity.addStringProperty("age").notNull();        
        entity.addStringProperty("phone").notNull();        
        entity.addStringProperty("marriage").notNull();          
        //entity.addStringProperty("address");  升级时添加的新列名  
      }
}

写好这个类以后,点击它,右击run ,出现下图说明运行成功:

QQ20160305-3@2x.png

此时,java-gen文件夹里面就有4个类了。


如何调用?

使用greendao,对于数据库的CRUD,我们只需要往里面添加一个对象就可以了,再也不需要去记那些spl语句子,是不是非常爽啊。


如何安全地升级数据库?

上一篇 下一篇

猜你喜欢

热点阅读