2022-09-07 18:31

创建数据库的时候指定字符集为 utf8mb4 是最好的,后面的表、字段在没指定的时候会跟着数据库的走

2022-09-07 18:29

你打包的错误信息并没有与你的项目有关的信息,也没有与 jfinal 有关的信息,信息不全,这么来排查一下:

1: 根据升级文档检查一下自 4.9.16 起哪些要小改的地方,一般都是分分钟改完,变动很小:
https://jfinal.com/doc/14-1

2: pom.xml 中的编译插件 maven-compiler-plugin
升级到 3.8.1,目前这一版本是最稳定的,不要升到最新版

2022-09-07 18:29

@chcode 已支持,变动两行代码的事。以前不支持是因为没注意到还有这么个事

2022-09-06 12:22

JFinalJson 针对 Model、Record 重点处理,其它类型一般走的 getter 方法

2022-09-06 12:20

@Leo.du 不用每个类型都转,当前你的场景大致处理一下 ModelToJson 就可以了,当然 Map 可能也要处理

2022-09-06 09:21

json 转化时,不同的类型是分别控制的,例如 Model、Record 的转换会有
class ModelToJson extends ToJson
class RecordToJson extends ToJson

而 BeanToJson 也是一样的原理,要接管 BeanToJson 需要通过如下方法实现:
JFinalJsonKit.setToJsonFactory(Function> toJsonFactory);

建议看一下源码: 在 JFinalJsonKit.java 的 106 行

2022-09-06 09:16

@杜福忠 我觉得很可能老美会先搞出来 "前后不分离" 回归后的新框架,回归后不再是原来的 Bootstrap、Layui,而时吸收了 react、vue 等框架后进化了的前后合并框架

2022-09-05 23:24

天下大势合久必分,分久必合,下一波范式转移该前后合并了

2022-09-03 12:51

这个问题很简单,在 arp = new ActiveRecordPlugin(...) 后面立即:
arp.setDevMode(true)

而不是在 addSqlTemplate 之后再调用 arp.setDevModel(true), devMode 要先配置

2022-08-25 23:20

使用下面的办法:
JFinalJson json = new JFinalJson();
json.setConvertDepth(2);

String jsonString = json.toJson(...);

2022-08-25 23:20

很有用的配置,点赞加收藏,谢谢

2022-08-24 21:33

还有一种用法是声明类型为具体的实现类:
@Inject
Service service1;

@Inject
OtherServiceImpl service2;

2022-08-24 21:32

目前不支持,现在集群普遍使用,业务层不建议持有状态,状态存放在数据库或者 redis 这类集中式缓存之中

如果你是希望同一个接口注入不同的实现类,建议直接使用实现类,例如:
@Inject
Service service1;

@Inject(OtherServiceImpl.class)
Service service2;

上述第二个 @Inject 指定了被注的实现类

2022-08-10 23:33

这是日志级别为 debug,不是 bug

将日志级别调整为 info、warn 都可以,配置一下日志级别