融雲與greenDao衝突解決辦法

請尊重原創


在做即時通訊開發時,用融雲來做,同時數據庫使用了greenDao框架,那麼問題來了,融雲內部內置了greenDao數據庫,如果項目中再導入greenDao.jar包時,就會報錯,解決辦法是:去掉自己導入的greenDao.jar包,這個時候新問題又來了,那些使用greendao-generator自動生成的數據庫文件全報錯了,報錯原因是構造方法不匹配。融雲使用的文件加入了參數:tableName,但我們自動生成的沒這個參數,修改方法就是:把報錯的地方加上表名參數,一個一個的修改肯定不方便,其實,只要重新自動生成一遍就可以了,但這次生成方法不同,我們要修改下dao.ftl文件。ftl文件沒見過?只要把greendao-generator.jar包解壓出來,你就會找到,


    /**
     * Properties of entity ${entity.className}.<br/>
     * Can be used for QueryBuilder and for referencing column names.
    */
    public static class Properties {
<#list entity.propertiesColumns as property>
        public final static Property ${property.propertyName?cap_first} = new Property(${property_index}, ${property.javaType}.class, "${property.propertyName}", ${property.primaryKey?string}, "${property.columnName}","${entity.tableName}");
</#list>
    };


這裏就是生成Properties類構造方法,我這裏已經改好了,加入了:"${entity.tableName}"      ,這個參數就是表名,默認的是沒這個參數的


自動生成融雲使用的數據庫文件項目下載地址:http://download.csdn.net/detail/ytmfdw/8693865


另外注意下:


public static void main(String[] args) throws Exception {
        Schema schema = new Schema(999, "com.it.bean");

這裏構造數據庫版本時,如果版本號大於999時,生成的代碼會在數字中,加入分隔符“,”,只要手動去掉這個符號就可以

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章