分页函数排序里面的括号问题

因为需要对中文排序,所以使用了order by convert(c.name using gbk),在分页函数里面有错,因为sql拼接会有问题select count(*) from t_user c where 1=1  using gbk) asc

评论区

JFinal

2016-12-11 11:55

创建一个public class MyDialect exnteds MysqlDialect 覆盖掉其中的 replaceOrderBy 方法,在方法体中直接放一行代码 return sql ,然后通过 arp.setDialect(new MyDialect()) 使用自己扩展的方言取而代之即可

原因是分页方法会生成一个查询分页总记录的 sql,为了提升性这个 sql 会利用正则将 order by 子句去掉,因为查询总记录与 order by 子句无关,而 order by 语句可以是极其复杂的,目前的正则无法完全覆盖

jfinal 2.3 已彻底解决此问题

奋斗-now

2016-12-11 16:46

@JFinal 2.3在哪下载

JFinal

2016-12-11 17:31

@奋斗-now 2.3 是即将发布的新版本,正在内测中,多多关注社区动态

江南红衣

2016-12-11 22:10

加油

奋斗-now

2016-12-13 11:27

@JFinal jfinal有没有类似命名空间的东西,在访问的时候前台和后台分离比较方便

JFinal

2016-12-13 11:30

@奋斗-now 天然就支持,这里是前台:
me.add("/", IndexController.class);
me.add("/project", ProjectController.class);

这里是后台:
me.add("/admin", IndexAdminController.class);
me.add("/admin/project", ProjectAdminController.class);

controllerKey 中可以包含 "/" 字符,可以自由实现 namespace 功能,并且无需引入新的概念

奋斗-now

2016-12-13 11:34

@JFinal 好的,谢谢

JFinal

2016-12-13 11:45

@奋斗-now 这就叫无招胜有招,不需要引入新的东东即可实现需要的功能

奋斗-now

2016-12-13 18:43

@JFinal 代码简练易懂,极速开发的首选,自从用了,就不想理ssh2了

JFinal

2016-12-13 20:05

@奋斗-now struts 的 namespace 就需要额外的 xml 配置,提交个表单还需要个 ActionForm,现在的存量用户还挺多,苦了他们了

热门反馈

扫码入社