zoukankan      html  css  js  c++  java
  • Android GreenDAO 3.0 不修改版本号的情况下增加、删除表、添加字段

    最近项目中使用了GreenDAO的3.0以上的版本,出现需要增加删除表的需求,刚开始用,发现官方对增加和删除的方法是每次去修改数据库版本号,版本一旦升级,那么原来数据库中的表会全部删除再重建。太麻烦,如果不修改版本号,单单只是在model中添加@Entity
    那么会出现说找不到这张单,无法使用,所以在网上查找资料博客,大部分都是简易的介绍3.0以上的增删改查功能,对于删表和增加表,大部分还是参照官方的升级版本号的做法,没有找到其他方法,所以自己花时间了解了下,实现不修改版本号增加表,删除表,增加表内字段。很简单,直接上代码。

    TransactionTypeI18nModelDao typeI18nModelDao = GreenDaoManager.getInstance().getNewSession().getTransactionTypeI18nModelDao();
                            //                        删表和建表
                            //                        Database database = GreenDaoManager.getInstance().getNewSession().getDatabase();
                            //                        typeI18nModelDao.dropTable(database, true);
                            //                        typeI18nModelDao.createTable(GreenDaoManager.getInstance().getNewSession().getDatabase(), true);
                            typeI18nModelDao.deleteAll();
                            typeI18nModelDao.insertInTx(gdResultBean.getObject());

    先建model,加上@Entity注解再次Make project,gen目录上生成对应model的DAO文件后,代码调用以上注解部分的代码即可实现对单张表的增加和删除,如果想要添加字段,可以直接在model中添加要增加的属性名,make project后将表删除,再调用创建表的方法即可。

  • 相关阅读:
    Hibernate(十三)迫切内连接fetch
    SQL多表联合查询(交叉连接,内连接,外连接)
    Hibernate入门(十二)离线条件检索
    Java基础IO流(二)字节流小案例
    Java基础IO流(一)
    Hibernate入门(十一)多对多案例
    mysql下载安装及常见问题
    数据库表数据恢复
    linux的自有(内置)服务
    linux下的别名机制
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/9327451.html
Copyright © 2011-2022 走看看