2017-08-14 15:56
由于 jfinal 是自己写算法来解析模板,所以解析性能是 freemarker、velocity 的 6 倍,这个性能在绝大多数场景下都是足够的,对于一个普通的模板文件解析时间都只需要几个毫秒,更何况这类 String 的内存对象,解析时间几乎可以忽略不计。
因此,jfinal 3.2 对 String 内存型的模板默认采用了不缓存的策略。而只有在极端情况下才需要缓存,这时候开发者可以使用 getTemplateByString 的 true 参数进行缓存,这种情况适用于 String 型的模板个数是有限的,不会造成内存泄漏
如果对性能有极端要求,同时 String 型模板的个数是不确定的,那么可以通过实现 ISource 接口去解决,该接口中有一个 getKey() 方法,可以用于指定缓存的 key,下面是一个大致的例子:
public class StringTemplate implements ISource {
private String key;
private String content;
public StringTemplate(String key, String content) {
this.key = key;
this.content = content;
}
public String getKey() {
return key;
}
// 其它实现方法省略
}
在用的时候这样:
engine.getTemplate(new StringTemplate(key, content));
2017-08-14 15:28
@Jacieyoung me.setBaseUploadPath(这里使用绝对路径) 就可以上传到你本机的任何地方了,例如:
1:linux 下使用 me.setBaseUploadPath("/root") 就可以上传到 root 下,注意要确保一下有 root 写权限
2:windows 下使用 me.setBaseUploadPath("d:/upload") 就可以上传到 d 盘的 upload 下
2017-08-14 14:28
首先单步调试一下,看这个变量的类型是什么,即便是 Date 类型也是带有时、分、秒的。如果是 Timestamp 类型,那就更没有错误。 这种情况通常只是视觉上看上去没有时分秒,而格式化输出的时候会有
注意:在查看数据时,通常是对象的 toString() 方法所表现的数据,与真实数据不同
如果类型确实不对,或者是 Date 类型,但真的丢失了小时、分、秒,自定义一个 MyOracleDialect 继承一下 OracleDaielct,拼接管一下里面的 buildRecordList 与 buildModelList, 自由控制一下这为类字段的获取,具体可以参考一下 ModelBuilder、RecordBuilder 中的读取代码
估计很可能只是视觉上的问题
2017-08-14 14:23
@ROMYIM jfinal 俱乐部群里
2017-08-14 12:24
@ROMYIM 前天晚上做直播的时候还演示过这个新功能,一定是可以的
2017-08-13 16:16
@youyuyang 用类似于 xshell、putty 这样的 ssh 登录到服务器,然后运行下面的命令登录到mysql:
mysql -uroot -p
登录进去以后通过 use demo; 切换到 demo 数据库,然后再 select * from ... 查询一下
确保在远程机器上可以登录以后,再将这个可以登录的用户名与密码放在程序中使用即可
2017-08-13 14:23
@yjjdick1990 千万别这么说,多花时间专注于你喜欢与擅长的事情,就能超越前人,从来都是长江后浪推前浪