开发者社区> 问答> 正文

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

@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的时候报错了;




展开
收起
爱吃鱼的程序员 2020-06-09 15:05:44 470 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

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

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

    2020-06-09 15:06:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像