Java数组传参sql_Java中如何传一个数组作为筛选条件操作数据库(sql中foreach的使用)...
實(shí)現(xiàn)步驟:
1. 把前端獲取到的要?jiǎng)h除的數(shù)據(jù)的nId,以逗號(hào)作為分隔符,組成一個(gè)da(其中checkStatus.data.length和checkStatus.data[i].nId是layui里面的,不用的話替換為對(duì)應(yīng)的數(shù)據(jù)就可以);
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,// 超時(shí)時(shí)間設(shè)置,單位毫秒
data: {
"ids": da,
"u": u
},
contentType: "application/x-www-form-urlencoded;charset=utf-8",
success: function(data) {
......
},
error: function(data){
......
}
});
3. 然后針對(duì)傳入的str進(jìn)行解析,以split進(jìn)行截取,將截取的值塞到定義的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. 針對(duì)數(shù)據(jù),在dao層進(jìn)行sql的處理,通過(guò)sql的foreach方法進(jìn)行處理;
for (Long id : nId) {
pstmt.setLong(1, id);
pstmt.addBatch();
}
pstmt.executeBatch();
5. 該方法最好設(shè)置回滾設(shè)置,這樣保險(xiǎn)點(diǎn)。
conn.setAutoCommit(false);/*關(guān)閉事務(wù)自動(dòng)提交*/
conn.commit();
try {
conn.rollback();
} catch(SQLException e1) {
e1.printStackTrace();
}
總結(jié)
以上是生活随笔為你收集整理的Java数组传参sql_Java中如何传一个数组作为筛选条件操作数据库(sql中foreach的使用)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java反射 获取参数名_java
- 下一篇: 每次放假回老家我都变成家里的搬运工。。?