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

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);
}

时间: 2024-10-08 14:13:48

同时对数据库进行更新,添加与删除操作的相关文章

Spring Data MongoDB 二:添加、删除操作

一.简介 Spring  Data  MongoDB 项目提供与MongoDB文档数据库的集成,Spring与Hibernate集成时,Spring提供了org.springframework.orm.hibernate3.HibernateTemplate实现了对数据的CRUD操作, Spring Data  MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作,包括对集成的对象映射文件和PO

js添加确认删除操作注意事项

1 function delsure(){ 2 if(confirm('确认删除吗?')){ 3 return true;//点击确定则返回这里的内容 4 }else{ 5 return false; 6 } 7 } 在表单中添加onsubmit="return delsure(this)", confirm("确认删除吗?")如果点确定返回true,点取消返回false,必须要添加return true和return false,不然不起作用! js添加确认删除操

asp.net对xml文件的读写,添加,修改,删除操作

using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; usi

UITableViewCell 加载、添加、删除

1.1 加载: UITableViewCell 的加载需要遵守UITableViewDataSource数据源协议中的三个方法: @protocol UITableViewDataSource<NSObject> @required - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section; // Row display. Implementers should *alway

vue添加和删除

实现添加和删除操作: 1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta http-equiv="

jQuery添加和删除元素class属性实例代码

jQuery添加和删除元素class属性实例代码:元素的的class属性一般是用来设置样式之用,所以添加或者删除都意味着改变元素的样式,下面就介绍一下如何使用jQuery来删除和添加元素的class属性值,希望能够给大家带来一定的帮助.代码实例如下: function switchTeachControl() { var target=$("#thediv"); if(target.hasClass("controlOff")) { target.removeCla

JSON相关知识,转载:删除JSON中数组删除操作

一:JSON是什么 JSONg格式:对象是一个无序的“名称/值”对的集合. 对象以括号开始,括号结束. 名称冒号分隔值. "名称/值"之间用逗号分隔 例: var people = {     "programmers": [{         "firstName": "Brett",         "lastName": "McLaughlin",         "em

Ansible 从MySQL数据库添加或删除用户

mysql_user - 从MySQL数据库添加或删除用户. 概要 要求(在执行模块的主机上) 选项 例子 笔记 状态 支持 概要 从MySQL数据库添加或删除用户. 要求(在执行模块的主机上) MySQLdb的 选项 参数 需要 默认 选择 注释 append_privs (1.4 加入) no no yes no 将priv定义的权限附加到此用户的现有权限,而不是覆盖现有的权限. check_implicit_admin (1.3 加入) no no yes yes 检查mysql是否允许以

Ansible 从远程主机添加或删除MySQL数据库

mysql_db - 从远程主机添加或删除MySQL数据库. 概要 要求(在执行模块的主机上) 选项 例子 笔记 状态 支持 概要 从远程主机添加或删除MySQL数据库. 要求(在执行模块的主机上) MySQLdb的 mysql(命令行二进制) mysqldump(命令行二进制) 选项 参数 需要 默认 选择 注释 collation no     整理模式(排序).这仅适用于新的表/数据库,并且不更新现有的表,这是MySQL的限制. CONFIG_FILE (2.0中加入) no ?/ .my