码迷,mamicode.com
首页 > 其他好文 > 详细

融云与greenDao冲突解决办法

时间:2015-05-13 10:15:45      阅读:346      评论:0      收藏:0      [点我收藏+]

标签:融云   greendao   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}"      ,这个参数就是表名,默认的是没这个参数的


自动生成融云使用的数据库文件项目下载地址:


另外注意下:


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

这里构造数据库版本时,如果版本号大于999时,生成的代码会在数字中,加入分隔符“,”,只要手动去掉这个符号就可以

融云与greenDao冲突解决办法

标签:融云   greendao   greendao冲突   

原文地址:http://blog.csdn.net/ytmfdw/article/details/45689103

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!