jfinal反转的model在mysql5.5下执行get没问题,在5.1下报错

terely 发布于 2016/04/28 11:39
阅读 111
收藏 0

@JFinal 你好,想跟你请教个问题:

jfinal版本是最新的 2.2

select IFNULL(max(menu_id)+1,CONCAT(?,'01')) as menu_id from fp_menu where parent_menu_id= ?

其中‘?’是 动态获取的 父菜单id 这句话的意思是获得该父菜单下最大的一个菜单id然后加1,我是这样来做菜单id规则的;

在navicate里面直接执行该语句返回的是 102  ;

在mysql5.5下 Menu.dao.findFirst().getMenuId执行之后 会获得102没有任何问题

但是在mysql5.1.48下同样的代码返回的是一个如图所示的对象!


menu_id在我数据库中是varchar类型

这是因为数据库版本函数问题呢,还是jfinal在转换model的时候有问题呢?

我个人怀疑是mysql的函数 ifnull这里执行后在mysql5.1下类型是否发生了改变?然后jfinal转换出了问题?

具体的报错信息是在 getMenuId的时候报错了;




加载中
0
逝水fox
逝水fox

http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_concat

文档里面有提到5.5.3以前concat返回的是binary,以后返回的是字符串。用这个方法CAST(val as CHAR)强转一下类型

返回顶部
顶部