2017-02-17 11:02

jfinal 保障了技术层面的简单性,但如果你的业务本身就很复杂,那也是要费点时间的。至于做商城要多久,取决于很多因素,例如功能的多少,复杂度,开发人员有多少

2017-02-17 11:00

@spectre jetty 依赖,在 IDEA 中的 pom.xml 中需要是 compile, eclipse 中可以为 provide,其实正常应该是 provided,因为这个只是开发时需要的依赖

注意在 IDEA 中,如果要打包成 war,需要先将 prvided改成 compile,否则会打进去一些无用的 jar 包

2017-02-17 10:44

或者你试试在最外层套一个 select *,形如:
paginate(1, 10, "select *", "from (原 sql ) as temp", ....)

2017-02-17 10:43

创建一个 public class MySqlServerDialect extends SqlServerDialect,然后覆盖一下 replaceOrderBy 方法,将 order by 的替换用上,相关代码在源码中都有

2017-02-17 10:42

很早以前的版本,getFile(...) 可以传入绝对路径。升级到 jfinal 3.0 解决一下

2017-02-16 19:29

@埋头苦干 自己扩展 MetaBuilder,使用固定的排序规则,不会再依赖 JDBC,与 JDBC 没有关系

例如,在 MetaBuilder 扩展类中,使用字典排序对复合主键进行排序,这个排序的结果是永远固定的

2017-02-16 19:05

让 paginate 方法减少一个参数即可,大致如下:
paginate(1, 10, "select *", "from user where age >18");

2017-02-16 17:38

@埋头苦干 这个方案并不彻底,例如:将建表语句中指定的双主键次序换一下然后建这张表,就有问题了

2017-02-16 15:33

注意一下,为 sql 管理模块的 Engine 添加指令需要使用如下代码:
ActiveRecordPlugin arp = ...
Engine engine = arp.getSqlKit().getEngine();
engine.addDirective(...);

也就是说 view 层与 active record 的 Engine 对象是不同的对象,这样设计可使各模块拥有各自不同的 Engine 对象,以免互相产生干扰

2017-02-16 15:23

指令是怎么添加的,直接修改这个贴子,贴出点代码来,此外,通过异常消息可知,该错误是由于 #sql 指令的参数需要是字符串

2017-02-16 14:55

@埋头苦干 最终是采用什么方案解决的,是强制再指定一次,还是通过扩展 MetaBuilder 解决的?

2017-02-16 14:53

@Irin.Chan 强烈建议使用阿里云,非常稳定可靠,买最便宜那款每年才几百块钱

2017-02-16 13:39

NoClassDefFoundError 这个是最基本的异常,添加上 jetty-8.18.jar 的依赖就好,下载首页的 jfinal-3.0_demo_for_maven 项目,参考一下 pom.xml 中的写法

如果 pom.xml 中确实配置好了,可能是 maven 下载文件时导致了文件出错,删掉该文件夹,重新下载即可

2017-02-16 13:37

用两个 Date 变量,一个存本月一号,一个存下个一号,假定这两个变量名为 start、end,用 sql 直接解决:
find("select * from xxx where createAt >= ? and createAt < ?", start, end);

这些是纯业务问题,几乎与 jfinal 无关

2017-02-16 13:32

@happyboy @SillyBoy jfinal-club 项目后台登录做得更彻底,压根就没有,最大化提升了安全性