批量插入。AJAX发起请求,核心代码如下:

var mids = new Array();

for (var i=0; i

mids.push(rows[i].id);

}

$.ajax({

type: 'POST',

dataType: "json",

async: false,

traditional:true, //这一行很重要

url: parent.getBasePath()+"sys/role/setAuth.do",

data: {'mids': mids},

success: function(data) {},

error: function(err) {}

});

接下来是Controller的代码:

//直接在方法里传入List会报错,所以要通过一个类封装一层

@RequestMapping("/setAuth")

@ResponseBody

public Map setAuth(Short id, ModParam midsA) {

}

//封装List对象的类

public class ModParam implements Serializable{

private static final long serialVersionUID = 8607859409880232081L;

private List mids;

public List getMids() {

return mids;

}

public void setMids(List mids) {

this.mids = mids;

}

}

Contoller一层一层的往下调用,最后到了Mapper:

/***

* 批量插入

* @return

* @throws Exception

*/

int insertWithList(List rr) throws Exception;

对应的xml(我这里的id不是一个自增的Sequence,我是去表中选取最大的id,然后依次加1,写入到对象,所以没有用到mybatis的selectKey,这里是针对Oracle):

insert into T_WEB_ROLE_RESOURCE(id, role_id, source_id, remark)

select #{item.id},#{item.roleId},#{item.sourceId},#{item.remark} from dual

嗯,这就差不多了。

附上一个参考链接:

http://chenzhou123520.iteye.com/blog/1583407

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐