全栈低码设计开源框架 json-script-rule 添加修改删除功能说明

增,删,改

add插件

下面是使用add插件进行插入数据的操作,第二个action使用查询插件查询是否插入成功

{
    "actions":[
        {
            "name":"addaction",
            "add":{
                "className":"ZsTestPO",
                "uuid":["id","remark"],
                "defaults":{"test_field":"nnnnnn"},
                "required":["test_field","create_date"],
                "calculate":{"salary:-<salary>+0.5*(-10*10)","bonus:<bonus>-100"},
                "data":[
                    {"name":"ccc","salary":22.50,"bonus":"110","birthDay":"2021/10/08","create_date":"2021-10-08"},
                    {"name":"mmm","salary":11.50,"bonus":120,"birthDay":"2021-02-03","create_date":"2021-02-03"}]
            }
        },{
            "name":"and query",
            "get":{
                "relation":{
                    "classes":["ZsTestPO"]
                },
        "condition":{
            "type":"or",
                    "where":{
                        "eq":{"name":["ccc","mmm"]}
                    }
                }

            }
        }
    ]
}

这里为了演示因此json字符串看上去十分的复杂,但实际上这里只需要用到class属性以及data属性就可以完成一个简单的插入操作

参数说明
  • class:对应的实体类名,DML类型的操作只能针对一个表
  • uuid:为哪些列生成uuid值
  • snowFlake:雪花id
  • defaults:数据列的默认值
  • required:校验字段值是否存在,在defaults属性后执行
  • calculate:计算字符串里的数学公式,<>符号里的字段为引用的字段变量值

修改插件edit

下面是json用例,将ZsTestPO类对应的表字段name值更改为ppp,查询条件是name为aaa或mmm的数据

{
    "actions": [
        {
            "name": "editName",
            "edit": {
                "class":"ZsTestPO",
                "set": {
                    "name": "ppp"
                },
                "condition":{
                    "type": "or",
                    "matches": {
                        "eq": {
                            "name": ["aaa","mmm"]
                        }
                    }
                }
            }
        }
    ]
}
参数说明
  • set:和update语句中的set含义相同,其中key是列名,value是要修改的值
  • editAll:是否忽略条件限制,允许修改全部数据,默认为false,为false时condition属性不能为空
    json脚本在后台生成的sql如下

update zs_test set name='ppp' where name='aaa' or name='mmm'

返回的结果

{
    "code": 200,
    "msg": "operation successfully",
    "result": {
        "editName": 2
    },
    "log": null
}

删除插件delete

json用例

{
    "actions":[{
        "name":"deleteAction",
        "delete":{
            "class":"TestBank",
            "condition":{
                "where":{
                    "in":{"id":[303,306]}
                }
            }
        }
    }]
}

json指令在后台生成的sql如下

delete from t_bank where id in  ('303','306') 

返回的结果

{
    "code": 200,
    "msg": "operation successfully",
    "result": {
        "deleteAction": 0
    },
    "log": null
}
参数说明
  • deleteAll:是否忽略条件限制,允许删除全部数据,默认为false,为false时condition属性不能为空

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九天流云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值