关于JFinal2.2 一个问题

使用的是jfinal2.2版本+mysql5.7.12版本,windows版本和linux版本运行处理啊两个结果

Page<Record> pages = Db.paginate(pager.getPageNow(), pager.getPageSize(), 

"select * ", "from org_country where org_id=? and status=?", new Object[]{orgId, 1});


blob.png

该结果在linux下正确,在windows7下显示

 java.lang.Integer  cannot be cast to java.lang.Long ;

如果改成 nation.setId(rs.getInt("id")),windows7正常,linux下则又报 

java.lang.Long cannot be cast to java.lang.Integer

评论区

zhangxiaofeng

2016-06-20 19:24

@波总

海哥

2016-06-22 22:29

这种情况时常发生,JPress也有这种情况,针对这种情况,为了安全起见,自己做的强转。详情:https://github.com/JpressProjects/jpress/blob/master/jpress/jpress-model/src/main/java/io/jpress/model/base/BaseUser.java ,看getId()方法。

happyboy

2016-06-24 09:22

对于jfinal自带的这个分页功能我一直没有使用,说实话,感觉不够灵活和强大,对于单表查询还凑合,多表查询的并且包含动态参数的,处理起来就比较困难了。

Dreamlu

2016-06-24 10:46

之所有出现这种问题,大致是因为你得数据库字段设计的不太好,类型或者长度有问题。Java, JDBC and MySQL Types:http://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-type-conversions.html

zhangxiaofeng

2016-06-27 17:58

@海哥 谢谢哦,jpress我也搭建了自己的局域网博客,还是比较棒的

zhangxiaofeng

2016-06-27 18:00

@Dreamlu 谢谢提醒哦

热门反馈

扫码入社