融云与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时,生成的代码会在数字中,加入分隔符“,”,只要手动去掉这个符号就可以

时间: 2024-10-20 11:51:37

融云与greenDao冲突解决办法的相关文章

pod导入融云路径报错解决办法

build Settings中搜索sear Search Patchs下点开Library Search Paths 将$(inherited)"$(SRCROOT)/Pods"分开来写 第一行$(inherited) 第二行"$(SRCROOT)/Pods" 这样可以解决路径报错的问题.希望对各位有所帮助

Android中View类OnClickListener和DialogInterface类OnClickListener冲突解决办法

如下面所示,同时导入这两个,会提示其中一个与另一个产生冲突. 1 import android.view.View.OnClickListener; 2 import android.content.DialogInterface.OnClickListener; 其实,当我们用某个Listener时,不一定就要import它,直接用全名去定义就不需要import了,例如 1 mButton1.setOnClickListener(new OnClickListener() 2 { 3 4 @O

std::min和自定义宏冲突解决办法

#include<algorithm> #include<iostream> #define min(a,b)!(b<a)?a:b int main(){ int a=1,b=2; std::cout<<(std::min)(a,b); return 0; } 加入一个括号,std::min就不会被宏替代了. std::min和自定义宏冲突解决办法

ecshop transport.js 和 jquery 冲突解决办法

您提供一个简单的解决transport.js 和 jquery 方法: 在 page_header.lbi 库文件中加入如下代码,注意操作顺序: 1.先导入transport.js  文件 {insert_scripts files='transport.js,utils.js'} 2.然后导入您网站使用的jquery文件 <script language="javascript" src="您的jquery存放路径"></script> 3

git 冲突解决办法

在项目中使用git管理,冲突是在所难免的,如果没办法解决冲突,可以试试这个办法! 第一步.对工程进行备份,最好是拷贝到其他文件夹中 第二步.在cmd命令栏上,进入到工程目录下,这里的工程只你正在开发的工程 第三步.输入命令 git stash git stash clear git reset --hard  id 注:id指你上传文件的id,在eclipse中右键工程->team->show in history 就可以看到上传的id git pull 第四步.刷新工程 第五步.将备份好的工

iOS进行MD5加密libary冲突解决办法

进行md5加密的时候加入liblibcommonCrypto.dylib遇到libary冲突 报library not found for -lcommonCrypto和libcommonCrypto.dylib.Link against the umbrella framework 'System.framework'错误 解决办法 删除liblibcommonCrypto.dylib 倒入 JavaScriptCore.framework #import <CommonCrypto/Comm

Maven jar包冲突解决办法

下面两个配置有简洁的包依赖冲突: <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId

Tomcat 在mac上(Idea)端口冲突解决办法

Port already in use: 1099 在mac上解决办法直接是找到占用1099端口的pid: 解决方式: lsof -i:1099 回车,之后会有pid,然后执行 kill (pid号) 最后问题就得到了解决! 注意:有的时候kill不能将占用端口的pid kill掉,所以只能查到pid,这个时候可以打开mac的"活动监视器 "进行查看相对应的pid 对应的进程,找到之后将其关闭就可以了. (左上角的那个灰色x按钮就能关闭) 在windows 上可以在程序管理器上进行相同

eclipse端口号冲突解决办法

解决办法如下: 1.打开cmd 2.输入 netstat   -ano|findstr  8080  然后按回车键(8080对应你的端口号) 3.输入 taskkill  /pid  6856  /f  回车即可(6856对应你输入端口号提示出的进程pid) 也可以在电脑任务管理器上找到对应的pid结束进程 原文地址:https://www.cnblogs.com/cxw-cm/p/9330786.html