Java pgsql--判定B表某字段是否在A表中包含

20 篇文章 0 订阅

一.思路:

先查询A表数据,取出device(1,2,3)数据,然后入库每个device参数的时候,看下这个设备在A表查询信息里面是否存在。与字段,值比较,并且站点管理 编号和名称不能重复。

二.示例代码:

/*controller类代码  设置设备接口*/   
public void setEnavmarkStationWarning() {
        /*前端传入[{}]格式参数*/
        JSONArray params = JSON.parseArray(getPara("param"));
        String device = "";
        /*遍历param*/
        for (Object param : params) {
            JSONObject object = JSONObject.parseObject(param.toString());
            String type = object.getString("type");
            /*设置参数*/
            Record paras = new Record().set("frequency", object.getIntValue("frequency"))
                    .set("open_warn", object.getInteger("open_warn"))
                    .set("aton_id", object.getInteger("atonId"))
                    .set("type", object.getInteger("type"));
            /*判断device是否为空*/
            if (StrKit.isBlank(device)) {
                Record mark = Db.findFirst("SELECT * FROM enavmark_station WHERE aton_id = ?", paras.getInt("aton_id"));
                if (mark != null) {
                    device = mark.getStr("device");
                }
            }
            /*不为空继续操作*/
            if (!device.contains(type)) {
                continue;
            }
            /*判断表里是否有请求参数的数据*/
            int result = EnavmarkStation.dao.selectStationWarnInfo(paras.getInt("aton_id"), paras.getInt("type"));
            /*若没有,则可以添加*/
            if (result == 0) {
                EnavmarkStation.dao.addEnavmarkStationWarn(paras.getColumnValues());
            } else {
            /*若有,则是修改数据*/
EnavmarkStation.dao.UpdateEnavmarkStationWarnInfo(paras.getColumnValues());
            }
        }
        renderJson(ResultCode.success("设置完成"));
    }

检验重复性操作详见:这里

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

liumce

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

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

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

打赏作者

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

抵扣说明:

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

余额充值