【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
实现步骤:
1. 把前端获取到的要删除的数据的nId,以逗号作为分隔符,组成一个da(其中checkStatus.data.length和checkStatus.data[i].nId是layui里面的,不用的话替换为对应的数据就可以);
function(){
var da = '';
for(var i = 0; i < checkStatus.data.length; i++) {
da += checkStatus.data[i].nId + "";
if(i != checkStatus.data.length - 1) {
da += ",";
}
}
2. 将该da传递给后端接口;
$.ajax({
url: path + "XXX/XXXXXXX",
type: "post",
dataType: "json",
async: false,
timeout: 5000,// 超时时间设置,单位毫秒
data: {
"ids": da,
"u": u
},
contentType: "application/x-www-form-urlencoded;charset=utf-8",
success: function(data) {
......
},
error: function(data){
......
}
});
3. 然后针对传入的str进行解析,以split进行截取,将截取的值塞到定义的id;
/*判断ids是否为空*/
if(ids == null || "".equals(ids)) {
json.put("status", -1);
outp(out, json.toString());
return ;
}
List<Long> list = new ArrayList<Long>();
if(ids.indexOf(",") > -1) {
String[] id = ids.split(",");
for(String string : id) {
System.out.println(Long.parseLong(string));
list.add(Long.parseLong(string));
}
} else {
list.add(Long.valueOf(ids));
}
4. 针对数据,在dao层进行sql的处理,通过sql的foreach方法进行处理;
for (Long id : nId) {
pstmt.setLong(1, id);
pstmt.addBatch();
}
pstmt.executeBatch();
5. 该方法最好设置回滚设置,这样保险点。
conn.setAutoCommit(false);/*关闭事务自动提交*/
conn.commit();
try {
conn.rollback();
} catch(SQLException e1) {
e1.printStackTrace();
}
来源:oschina
链接:https://my.oschina.net/u/3986411/blog/3143880