mysql foreach 批量操作

最近需要做个功能,批量修改报警过滤

1.pojo

public class AlarmFilterCustom extends AlarmFilter {
    private String wtitle; // 默认的标题
    private String lang; // 语言
    private String orderby; // 排序字段
    private String likename; // 模糊检索类
    private List filter; // 更新的数组,做mysql批量操作的参数
    private Integer grpid;
    private String text;

省略set,get方法}

   

2.AlarmFilterCustom param = new AlarmFilterCustom();
            for(int i = 0; i < alarmFilterCustoms.size(); i++){
                alarmFilterCustoms.get(i).setUid(userInfo.getGid());
            }
            param.setFilter(alarmFilterCustoms);

3.   
            keyProperty="id">
        
       
        insert into t_alarmfilter (uid, aid, notice, web, app, mail) values 
        ( #{item.uid}, #{item.aid}, #{item.notice}, #{item.web}, #{item.app}, #{item.mail})
        ON DUPLICATE KEY UPDATE //判断是执行新增还是更新,如果数据库存在uid,aid相同的数据,则更新,否则新增
         uid = #{item.uid}, aid = #{item.aid}, notice = #{item.notice}
       
 
        
        
   

4.mysql,表配置


二:
1.jsp
  var data = {batch: []}
    for (var i = 0; i < idlist.length; i++) {
        data.batch.push(idlist[i]);
    }
   
    
    data = JSON.stringify(data);
    data = encodeURIComponent(data);
    var _url = '${ctx}/datamotor/alarm/read?data=' + data;

2.后台
        一。ListIntegerParam list = (ListIntegerParam) Common.jsonToObj(data, ListIntegerParam.class);
  AlarmNoticeCustom param = new AlarmNoticeCustom();
            param.setBatch(list.getBatch());
            alarmNoticeService.updateRecord(param);

二。public class ListIntegerParam {
    
    private List batch;


    public List getBatch() {
        return batch;
    }


    public void setBatch(List batch) {
        this.batch = batch;
    }


}
三。pojo

3.xml
   
   
        update gps.t_alarmnotice set readed = 1 where id in 
       
            #{item}
       

   

你可能感兴趣的:(web)