2023-09-07 19:40
参考 jfinal-admin 或者 jfinal-club,大致是配置一下 pom.xml 中的 resoures
<!--
添加 includes 配置后,excludes 默认为所有文件 **/*.*,反之亦然
该规则在 maven-jar-plugin 等插件中同样适用
-->
<resources>
<!-- 添加该配置是为了将 .sql 文件打入 jar 包 -->
<resource>
<!-- 注意 IDEA 下必须要使用 ${project.basedir}/ 前缀,否则不生效 -->
<directory>${project.basedir}/src/main/java</directory>
<includes>
<!-- **/* 前缀用法,可以匹配所有路径 -->
<include>**/*.sql</include>
<include>**/*.jf</include>
</includes>
</resource>
<!--
没有添加 resources 配置时,src/main/resources 目录是默认配置
一旦添加 resources 配置指向 src/main/java 目录时,原先的默认配置被取代,
所以需要添加如下配置将默认配置再添加进来,否则无法使用 src/main/resources
下的资源文件
-->
<resource>
<directory>${project.basedir}/src/main/resources</directory>
</resource>
</resources>
然后在 package.xml 中将 sql 排除在外,不 copy
2023-09-07 19:36
@zzutligang 参考 jfinal-admin 或者 jfinal-club
大致是配置一下 pom.xml 中的 resoures
2023-08-30 10:05
@rctmlb 可能是 JDK 版本的问题,你是不是没有使用 Oracle 或者 OpenJdk 的版本? 可能有些比较偏门的 JDK 发行版本会有问题
无论如何,我这边代码已经调整过了,回发头个新版本给你:
https://gitee.com/jfinal/jfinal/commit/d95792105599e239ed5e87cf49bd19e4c449b64e
2023-08-13 18:45
代码质量非常高,已 star + fork
无意中发现个问题,反馈一下:
public class OperLogInterceptor implements Interceptor {
@Override
public void intercept(Invocation ai) {
ai.invoke();
// ACTION执行后记录日志,多线程记录,提升访问性能
new Thread(() -> writeOperLog(ai)).start();
}
....
}
以上在线程中 writeOperLog 会有问题,建议将绝大部分代码不要放在新线程之中,而只是将数据库操作放在独立线程中,因为瓶颈在数据库:
log.save();
此外,每次请求 new Thread(...) 开销会很大,可以用上 jfinal 内置的线程池:
ThreadPoolKit.execute( () -》 writeOperLog(ai));
2023-06-27 20:53
@chcode 这些一直都可以,博主的需求是批量插入数据,获得所有批量数据的主键值,而不是一个