关于查询的几个小问题

关于数据库字段中有下划线的字段有什么好办法处理吗?

例如:create_at  

Page<SystemUser> systemUser = dao.paginate(start, limit, "select *", "from t_system_user order by create_at desc");

希望返回的是 

Page对象中的list的对象中的字段为createAt 驼峰命名的。是否可以自动转换。

还有就是 mysql 查询分页是否能传 0 ,我传0是有报错的。

评论区

xialinlin

2017-05-28 01:15

JFinal

2017-05-28 10:40

有很多办法,下面介绍几种简单的:
1:select 中用 as 起名别,如: select user_name as userName
2:扩展 Dialect,覆盖掉其中的 buildRecordList 方法,对字段名进行一下转换即可
3:扩展 IContainerFactory,参考一下 CaseInsensitiveContainerFactory,进行一下字段名转换

第二种与第三种方法除了要注意从数据库读数据以外,还要注意保存数据时要给将字段转成下划线

最简单省事的办法是字段名直接就是驼峰型的,早在几年前我们就是在这么做的了,极其省事

JFinal

2017-05-28 10:41

分页的第一页是从 1 开始的,不支持第 0 页。如果需要支持,你可以在 YourModel 中覆盖一下这个方法,不让其抛出异常,而是 return new Page(....);

热门反馈

扫码入社