cloudAndMonkey
cloudAndMonkey
目前不支持redis4
5.2版本 1、 继承 APIJSONParser   2、重载 executeSQL方法 执行sql语句之前, 进行替换  
> 已解决 [0858141](https://github.com/Tencent/APIJSON/commit/08581418850ed44449390d1404e49832bc15a488) 看了作者的源码实现 就是把 request 改成了 sqlRequest 😂  为啥要传递 sqlRequest, 后面通过 sqlRequest生成column、value, 然后将数据组装sql插入数据库    
@TommyLemon 这个目前做了吗?
@TommyLemon @xuefei5 我梳理了一下代码, 实现思路如下(暂时还没有细化,测试): 批量新增、修改 1、生成每条sql语句,判断是否为最后一次执行,如果不是, 则将sql语句拼接 暂存到map(列不一样,key区分,map 同时缓存 setArgument valueList) https://github.com/Tencent/APIJSON/blob/master/APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java#L4419 2、中间生成sql语句不执行 executeUpdate, 生成最后一条sql 执行 executeUpdate (列不一样, 会执行多次) https://github.com/Tencent/APIJSON/blob/master/APIJSONORM/src/main/java/apijson/orm/AbstractSQLExecutor.java#L240 3、PreparedStatement 支持statement.addBatch(); https://github.com/Tencent/APIJSON/blob/master/APIJSONORM/src/main/java/apijson/orm/AbstractSQLExecutor.java#L1142-L1146
> @cloudAndMonkey 这也是一个方案,判断是否为最后一条可以通过实际数组数量来判断 我来弄吧 按照你上面的解决方案,代码调整的地方有点多, 代码执行流程,是for 数组长度, 按照一条一条json对象生成sql语句,预编译执行. 需要解析为一条一条sql语句,不执行 sql 预编译, 最后组装完成后执行sql
哈哈,是的, 这样直接引用进去, 更简单 TommyLemon ***@***.***> 于2023年3月9日周四 21:53写道: > 这样就不能直接生成文档了,需要定制下 APIAuto。 > [image: image] > > > 还不如 > > { > "Combine[]": { > "page": 0, > "count": 10, >...
> 等我空了来测
@TommyLemon 突然想到一个场景, 请教一下, 结合apijson, 如何处理
@TommyLemon > 临时变量 是以表名为维度 "@post": "Moment,Comment[]", 解决不了同时操作一张表 比如 sys_permission 菜单表 新增一条记录, 要修改父菜单的is_leaf(是否叶子节点:1:是 0:不是) 流程要处理几个地方(还没有细化): 1、校验 2、语句执行 语句执行的地方要能区分一张表不同的 请求操作类型