2018-07-18 16:08
@himans 扩展一个中间层是最好的办法
大至上是:自建一个 public class BaseModel extends Model,然后所有原来继承 Model 的那些类改成继承 BaseModel,也就是改一下 BaseModelGenerator 生成器的模板中的那个类文件而已
在这个 BaseModel 中添加一些你认为很常用的方法
2018-07-18 16:05
@flash866 你的上个回复引出了我的上个回复中的 “还有很多别的考虑” 中的其中一种
假定增加一个 columns 参数或者方法来限定字段,你仍然也是要写字段的,然后再将这个与现在的 jfinal 方案对比一下:
Db.find("select clumns... from tableName where ....", ...);
对比之后,你发现你的方法只是少写了一个 tableName 而已,但用户是需要增加学习成本的,而原生的 sql 对于用户来说是固定的一次性成本,无论以后再来什么功能,也不需要增加成本
此外还有性能的原因,你的解决方案肯定无法避免字符串拼接,这个都是要分配内存的,而 jfinal 现有方案, sql 几乎不用拼接,或者只有少量拼接
2018-07-18 15:58
@威仔 你用的 sqlserver , 应该要配置它的方言:
arp.setDialect(new SqlServerDialect())
不要使用 AnsiSqlDialect,这个是为 jfinal 里面默认没有方言的数据库准备的
2018-07-18 15:56
@Didier 你写的就是对的,就是 #if (d_id != 0 ) ... #end
之所以不对,可能是别的原因
再说了,没看到任何异常,外人无法判断
2018-07-17 20:28
@jf大哥大 这个不是 bug,当页号大于总页数时,在逻辑上来说就是没有数据的
这个你可以根据 mysql 的 limit 子句进行验证,当 limit x, y 子句的参数在数据集范围之外时,必然没有数据,如果有数据反而是错误的
2018-07-17 17:00
@让我说点啥呢 你的页面内容中出现黄色波浪线,可以用这里办法配置一下解决:
http://www.jfinal.com/doc/6-2