2024-12-25 10:06

用 Model 的话, 需要对取值方法自定义切割再包装类。
写入:不扩展的情况下,可以用Db.update 拼接 sql 执行,
如ST_GeomFromText(?) >> 'point(1 2)'
如果不用到point内置的函数,其实存 x 和 y 两个字段更简单

2024-12-24 15:34

@jzlBu 这个代码 只能代表 字段有映射啊,不能确定 你业务代码有调用setCreateUserId 方法啊。
看你字段是 create_user_id 猜测是 登录用户 id 回填吧? 业务代码有做 set 调用吗?

2024-12-24 13:18

刚好我们有这个小系统,但是里面功能比较多,周末我整理简精一下发社区上来

2024-12-24 13:11

看是用的 update 方法,估计是 java代码里面 对象没有进行 set 这些字段吧。
贴 java 代码。Model 对象如果没有映射这些字段的话,set 是会报错的

2024-12-16 18:53

@北流家园网 我没用过sa-token,但是通过他们官网文档介绍:https://sa-token.cc/doc.html#/use/session
可知 有 StpUtil.getSession() 这个工具类。
https://sa-token.cc/doc.html#/start/download

JF 的文档:https://jfinal.com/doc/3-10
可知 Controller有getSession()系列方法。那么可以通过自定义BaseController覆写里面的getSession系列方法。返回一个你自定义的HttpSession对象(装饰模式)里面方法转调原HttpSession对象的方法。

比如重写HttpSession的getAttribute方法,里面可以先取原HttpSession对象的getAttribute数据,没有的时候,再去取StpUtil.getSession().get(key) 这样子。就兼容了老项目与新框架。

如果项目没有BaseController这层,可以直接在Handler层对HttpServletRequest对象进行(装饰模式),进而重写HttpServletRequest类的request.getSession系列方法,返回你自定义的HttpSession对象。

2024-12-16 12:55

没有加一层不能解决的,如果有就再加一层包装类

2024-12-07 18:31

@zzutligang 昂,那使用Db.txInNewThread 包裹执行DDL操作就行。DDL操作用的数据库连接是新的,不会影响其他

2024-12-07 00:08

DDL操作不支持事务,失败后执行删除呗,硬控

2024-12-03 13:08

BaseController 重写getFiles 系列方法,处理uploadPath 参数就行了吧?
public List getFiles(String uploadPath,

2024-11-29 21:37

@zzutligang 有些业务必须用到 前端参数拼接的话,就用 map 做一个静态的全局白名单(表名、字段、条件等等参数均可,包括 sql 片段都可以放)。键值一样才行,用前端参数做 key 取 map 的value 值拼接到 sql 中。 奇安信安全源码扫码可通过,只做 if 判断,扫描器还过不了。要用 value值做拼接的对象就没问题。可过等保

2024-11-29 11:57

3.0 的时候就已经换了
// 渲染名为test.html的视图,且视图类型为 JFinal Template
renderTemplate(”test.html”);
文档:
https://jfinal.com/doc/6-1

2024-11-24 10:45

方案三:前端使用FormData对象进行上传,
formData.append(name, value, filename)
比如 formData.append('file', blob, 'your_file_name.jpg');
这样就兼容了后端的表单文件上传模式了