2021-12-13 21:17
@北流家园网 我没有用HBuilder,用的HBuilderX,是有Enjoy指令语法提示 https://jfinal.com/share/1607
2021-12-09 18:37
如果是我说的这个逻辑,
那么可以自建一个MyDbPro
https://jfinal.com/share/2399
然后覆写里面的findFirstByCache系列方法,
里面代码返回时转调一下这个方法就可以:
public static <T>T toRecord(Object parse){
if (parse instanceof Map){
Record record = new Record();
com.jfinal.plugin.activerecord.CPI.setColumnsMap(record, (Map)parse);
return (T) record;
}else if (parse instanceof List){
List array = (List) parse;
for (int i = 0; i < array.size(); i++) {
array.set(i, toRecord(array.get(i)));
}
return (T) array;
}
return (T) parse;
}
如果不是为了跨语言编写项目,感觉用Jackson序列化不划算了。
这里再说一下,String s = JFinalJson.getJson().toJson(record);
toJson时一定要用JFinalJson
2021-12-09 10:02
@袁小猴 我明白了,你的逻辑是这样的:
findFirstByCache 》数据库查询 并 set 缓存
ICache》自定义
Jackson》转json字符串
Redis》Jedis对象set字符串存储
二次查询时:
findFirstByCache 》数据库查询 并 get 缓存
ICache》自定义
Redis》Jedis对象get字符串
Jackson》json字符串转Record
原因是Record不是传统javaBean也不是Map,那处理就比较简单了,
1是先字符串转成对象之后再转Record即可。
2是Record支持这些JSON工具set值即可。
稍后我写个demo
2021-12-07 14:44
@zzutligang 你用的
#Generated by Maven
#Sat Apr 11 16:16:56 CST 2020
version=2020.4
groupId=com.jfinal
artifactId=cos
2020.4这个波总出的版本吧?我也是这个版本,正常