Java数组传参sql_Java中如何传一个数组作为筛选条件操作数据库(sql中foreach的使用)...
實現步驟:
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 list = new ArrayList();
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();
}
總結
以上是默认站点為你收集整理的Java数组传参sql_Java中如何传一个数组作为筛选条件操作数据库(sql中foreach的使用)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java反射 获取参数名_java
- 下一篇: flowlayout java_【简答