@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的时候报错了;
http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_concat
文档里面有提到5.5.3以前concat返回的是binary,以后返回的是字符串。用这个方法CAST(valasCHAR)强转一下类型
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。