2023-11-15 23:58

有些配置可能是 druid 后来的版本添加的,所以就没添加上,有些是不那么常用的也没加,通过 getDataSource() 再强制转换成 DruidDataSource 类型后,可以为它配置一些参数

2023-11-15 23:58

换驱动试试,感觉是驱动的问题:

https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc

最新的驱动在这里:
https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc

而不是这里(这里的过时了):
https://mvnrepository.com/artifact/com.microsoft.sqlserver/sqljdbc4

2023-11-15 23:57

将日志级别由 error 改为 info 会有更详情的日志出来

打印 sql 日志参考这个:https://jfinal.com/share/492

2023-10-31 18:09

batchSave 可能不支持返回主键 ID , 你执行完,看一下 model 中是不是有主键值了

2023-10-31 18:08

@yjjdick1990 jfinal 会处理好这个问题,显然是该字段的值为 null , 所以保存时为 null, 建议将该字段设置为不允许为 null, 这样在碰到问题时能及时抛出异常

2023-10-29 21:06

现在一般不这么玩了,而是在业务层返回 Ret 对象,因为验证代码与业务代码在一起成为一个整体,安全性更高,可读性更好,例如:

class LoginService {
Ret login(String userName , String password) {
if (checkAccount(userName, passord) == false ) {
return Ret.fail("用户名或密码不正确 ");
}
其它逻辑代码在此....
}

2023-10-24 16:07

@蜡笔小新 IDEA 改动 pom.xml 要点击 maven 面板的刷新按钮,常规操作

2023-10-24 15:30

去掉这个依赖javax.servlet-api,这个已包含在 jfinal-undertow 依赖之中,如果添加,反而会出问题,IDEA、eclipse 对依赖的处理有差异

2023-10-10 13:33

这是什么数据库? 字段类型能空着? 没见过这种玩法

2023-10-04 16:33

在 SpringBootConfig 配置的 Engine 对象与你 Engine.use() 获取到的是不同的对象,有两种办法,一种是使用前者:
JFinalViewResolver.engine.getTemplate("test.html");

另一种是先配置:
Engine.use().setToClassPathSourceFactory().setBaseTemplatePath("/templates/");

然后再使用:
Engine.use().getTemplate("test.html");

Enjoy 模板的各个 Engine 对象是独立配置的,可分别用于不同的用途,知道这点就能轻松拿捏了

2023-09-21 00:58

可能是 sqlite 的驱动不对,看看 pom.xml

还有一个解决办法是,先不管 jfinal 这边, 先用纯 JDBC 将 sqlite 跑起来,然后用跑起来的配置用于 jfinal 配置

因为 jfinal 底层就是用的 JDBC, 仅仅对 JDBC 做了极薄封装,所以,能在 JDBC 上用的配置就一定能在 jfinal 中用

2023-09-21 00:56

@杜福忠 极好极好

有了 JDK 17 的多行字符串支持, sql 不用写在外部文件中了,直接写到 java 代码中也很好维护。

即便还想写在外部文件中,也可以将 SQL 抽取到独立的 java 代码中的多行字符串,例如:
public interface UserSql {
String find = """
select * from user where id = #para(0)
""";
}

然后用的时候: dao.templateByString(UserSql.find).find();

aifei 已将模板 sql 提升到最优先位置,不用 templateByString ,用更便捷的方式使用 sql 模板

2023-09-20 18:07

应该是 JDK 21 中没有了 Compiler 这个类,一会我去除掉,见下面这的代码:
static {
Class[] cs = {..., Compiler.class, ...}
}

着急用吗? 着急我就发一个新版本

2023-09-20 18:04

代码不完整,不知道你是如何调用的

2023-09-10 12:10

@zzutligang 超赞

对于打包:通过配置,让 sql 留在 jar 文件内,不要复制到 config 目录

对于开发:通过配置,确保 target/classes 下面存在 sql 文件,否则程序无法启动