• 同时对数据库进行更新,添加与删除操作


    1.测试接口方法如下

    private void updateCourseList(String classId, JSONObject request, JSONObject user) {
      JSONArray courseList = request.optJSONArray("courseList");
      String insertSql = "insert into cekasp_train_course(id, classId, name, teacherName, status, createUser, createDate) values (?, ?, ?, ?, 0, ?, now())";
      String updateSql = "update cekasp_train_course set name = ?, teacherName = ?, updateUser = ?, updateDate = now() where id = ? and classId = ? and status >= ?";
      List<String> courseIdList = new ArrayList<>();
      for (int i = 0, len = courseList.length(); i < len; i++) {
      JSONObject course = courseList.optJSONObject(i);
      String id = course.optString("id", null);
      String name = course.optString("name");
      String teacherName = course.optString("teacherName");
      if (ValidateUtil.isNull(id)) { // 如果没有id,就添加到数据库
      id = String.valueOf(dataService.getAutoId("cekasp_train_course"));
      dataService.getJdbcTemplate().update(insertSql, id, classId, name, teacherName, user.optString("id"));
      log.info("add course, name is {}, id is {}", name, id);
      } else { // 如果有id,就更新
      dataService.getJdbcTemplate().update(updateSql, name, teacherName, user.optString("id"), id, classId, DataStatusEnum.NORMAL.getValue());
      log.info("update course, new name is {}, id is {}", name, id);
    }
      courseIdList.add(id);
    }
      NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataService.getJdbcTemplate());
      Map<String, Object> paramMap = new HashMap<>();
      paramMap.put("status", DataStatusEnum.DELETED.getValue());
      paramMap.put("ids", courseIdList);
      paramMap.put("classId", classId);
      namedParameterJdbcTemplate.update("update cekasp_train_course set status = (:status) where classId = (:classId) and id not in (:ids)", paramMap);
    }

  • 相关阅读:
    jquery利用event.which方法获取键盘输入值的代码
    C#计算某个时间距离当前日期的天数
    C#.net 货币格式转换
    用批处理来重启IIS的应用程序池
    C# .net 如何根据访问者IP获取所在地区
    C# 根据IP查询地址归属地
    windows Server 2008 IIS7 503错误解决方案
    技术选型
    bootstrap bable 自动换行问题
    .net 部署IIS 在服务器无法杀掉EXCEL进程
  • 原文地址:https://www.cnblogs.com/xiaolin-peter/p/7196080.html
Copyright © 2020-2023  润新知