本文是記錄Java中實現(xiàn)批量刪除操縱(Java對數(shù)據(jù)庫進行事務(wù)處置),在開始之前先來看上面這樣的一個頁面圖:
10余年的同仁網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整同仁建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“同仁網(wǎng)站設(shè)計”,“同仁網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
上面這張圖片表現(xiàn)的是從數(shù)據(jù)庫中查詢出的出租信息,信息中進行了分頁處置,然后每行的后面提供了一個復選按鈕和對應的一個刪除操縱,可以選中多個進行操縱,這里主要是進行刪除操縱。在執(zhí)行刪除操縱之前先要選中對應的行信息,點擊刪除選中按鈕進行刪除。當進行多條信息刪除的時候,需要使用java的事務(wù)處置機制對數(shù)據(jù)庫進行刪除,也就是說刪除的時候如果選中的要刪除的說有信息其中一條沒有成功刪除的話,那么就都不刪除。
現(xiàn)在是在java中對數(shù)據(jù)庫實現(xiàn)這一操縱,我們可看上面的代碼,它實現(xiàn)了對數(shù)據(jù)庫的批量刪除操縱,代碼如下:
public Connection con=null;
public PreparedStatement pstmt=null;
/**
* 失掉連接對象
*/
public void getConnection(){
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/zufang?user=rootpassword=rootuseUnicode=truecharacterEncoding=GB2312";
try {
Class.forName(driver);
con=DriverManager.getConnection(url,"root","root");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
/** * 批量刪除信息表中的信息 * @param sql * @param param * @return */ public boolean updateBatchDel(String sql,String[] param){ boolean flag = false; getConnection(); try { con.setAutoCommit(false); pstmt = con.prepareStatement(sql); for(int i =0 ;iparam.length;i++){ pstmt.setString(1,param[i].trim()); pstmt.addBatch(); } pstmt.executeBatch(); //批量執(zhí)行 con.commit();//提交事務(wù) flag = true; } catch (SQLException e) { try { con.rollback(); //進行事務(wù)回滾 } catch (SQLException ex) { ex.printStackTrace(); } }finally { closeAll(null,pstmt,con); } return flag; }
當然上面是進行批量刪除,如果我們只刪除一條信息的話也可以使用獨自的刪除方法,即是:點擊刪除,當然上面的方法也是可以完成的,還是再看一下吧:
/**
* 刪除某條求租表中的信息
* @param id 刪除信息的id
* @return 如果刪除成功,返回true;否則返回false
*/
public boolean delQiuZu(String id){
boolean flag=false;
String sql="delete from qiuzhu where id=?";
String[] param={id};
flag=bd.updateDate(sql, param);
return flag;
}
控制器servlet中的處置操縱代碼如下:
package com.sxt.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sxt.biz.ChuZuBiz;
import com.sxt.biz.PageBiz;
import com.sxt.biz.QiuZuBiz;
public class OutDateQiuzuServlet extends HttpServlet {
QiuZuBiz qzb=new QiuZuBiz();
PageBiz pb=new PageBiz();
int pagesize=10;
boolean flag=true;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("gb2312");
response.setContentType("text/html;charset=gb2312");
int countpage=pb.getOutDatePageCountQiuzu(pagesize);
request.setAttribute("countpage", countpage);
String nowpage=request.getParameter("nowpage");
String id=request.getParameter("id");
PrintWriter out = response.getWriter();
String command = request.getParameter("command");
? ?if ("del".equals(command)) { ?
? ? ? ?String[] qiuzuIds = request.getParameterValues("selectFlag");
? ? ? ?boolean flag = qzb.delQiuzuMany(qiuzuIds);
? ? ? ?if(flag){ ?
? ? ? ? ? ?out.print("scriptalert('刪除成功!');/script"); ?
? ? ? ?}else{ ?
? ? ? ? ? ?out.print("scriptalert('刪除失敗!');/script"); ?
? ? ? ?} ?
? ?} ?
if(nowpage==null){
nowpage="1";
}
if(Integer.valueOf(nowpage)=0){
nowpage="1";
}
if(Integer.valueOf(nowpage)countpage){
nowpage=countpage+"";
}
if(id!=null){
flag=qzb.delQiuZu(id);
}
request.setAttribute("currentpage", nowpage);
List list=qzb.getOutDateQiuZuInfo(Integer.valueOf(nowpage), pagesize);
request.setAttribute("list1", list);
if(flag){
request.getRequestDispatcher("admin/OutDateQiuzu.jsp").forward(request, response);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
}
上面是對數(shù)據(jù)庫的操縱代碼,上面看一下頁面中怎樣實現(xiàn)的,代碼如下:
每日一道理?
燈,帶有一種明亮的光,每當深夜來臨,是它陪伴著你,如此默默無聞。它是平凡的,外表華麗與否,那都是一樣的,珍珠點綴,水晶加飾的燈它只能用以裝飾,來滿足人們的虛榮心,比起這,普普通通的日光燈是幸運的,因為它照明的本性沒有改變,如同生活中的一部分人平平凡凡卻實實在在。
%@ page language="java" import="java.util.*" pageEncoding="GB18030"%
%@ taglib uri="#" ?prefix="c" %
html
head
titlehouse/title
script type="text/javascript"
//刪除用戶控制 ?
function deleteSelect() { ?
? ?var select ?= document.getElementsByName("selectFlag"); ?
? ?var flag = false; ?
? ?for (var i=0; iselect.length; i++) { ?
? ? ? ?if (select[i].checked) { ?
? ? ? ? ? ?flag = true; ?
? ? ? ? ? ?break; ?
? ? ? ?} ?
? ?} ?
? ?if (!flag) {
? ? alert("請選擇需要刪除的過期求租信息!"); ?
? ? ? ?return; ?
? ?} ?
? ?if (window.confirm("確認要刪除過期的求租信息嗎?")) { ?
? ? ? ?with (document.getElementById("userform")) { ?
? ? ? ? ? ?action="OutDateQiuzuServlet?command=del"; ?
? ? ? ? ? ?method="post"; ?
? ? ? ? ? ?submit(); ?
? ? ? ?} ?
? ?} ?
}
//全選/反選操縱 ? ?
function checkAll(ifAll) {
var select = document.getElementsByName("selectFlag"); ?
? ? ? ?for(var i = 0;iselect.length;i++){ ?
? ? ? ? ? ?select[i].checked = ifAll.checked; ?
? ? ? ?} ? ? ?
}
/script
/head
link rel="stylesheet" href="./skin/css/lianjie.css" type="text/css" /
body
form name="userform" action="ChuzuServlet" method="get"
table width="1000" height="80" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"
tr
td height="40" align="center" bgcolor="#F1F1F1"font color="#FF0000"b已過期的求租信息/b/font/td
/tr
tr
td align="left"
input name="btnDelete" class="button1" type="button" ?
? ? ? ?id="btnDelete" value="刪除選中" onClick="deleteSelect()" ?
/td
/tr
/table
table width="1000" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC" style="word-break:break-all;"
tr align="center"
td width="15%" height="25" bgcolor="#F1F1F1"font size="3"?input type="checkbox" name="ifAll" title="全選/反選" ?onClick="checkAll(this)" checked="checked"http://font/td
td width="10%" bgcolor="#F1F1F1"font size="3"期望區(qū)域/font/td
td width="15%" bgcolor="#F1F1F1"font size="3"裝修水平/font/td
td width="10%" bgcolor="#F1F1F1"font size="3"房型/font/td
td width="10%" bgcolor="#F1F1F1"font size="3"面積(平米)/font/td
td width="10%" bgcolor="#F1F1F1"font size="3"價格(元)/font/td
td width="10%" bgcolor="#F1F1F1"font size="3"添加日期/font/td
td width="10%" bgcolor="#F1F1F1"font size="3"有效天數(shù)/font/td
td width="10%" bgcolor="#F1F1F1"font size="3"殘余天數(shù)/font/td
/tr
c:choose
c:when test="${empty list1}"
trtd colspan="8" align="center"font color="red"還沒有過期的求租信息!/font/td/tr
/c:when
c:otherwise
c:forEach var="qiuzu" items="${list1}"
tr
td height="25" align="center" bgcolor="#FFFFFF"input type="checkbox" name="selectFlag" value="${qiuzu.id}" checked="checked"http://font
?a href="javascript:if(confirm('確定要刪除這條過期的求租信息嗎?')){location.href='OutDateQiuzuServlet?id=${qiuzu.id}'}" style="COLOR: #0000ff;font-size:14px; TEXT-DECORATION:none;"font size="2"刪除/font/a/td
td align="center" bgcolor="#FFFFFF"font size="2"${qiuzu.qwqy}/font/td
td align="center" bgcolor="#FFFFFF"font size="2"${qiuzu.zxcd}/font/td
td align="center" bgcolor="#FFFFFF"font size="2"${qiuzu.hx}/font/td
td align="center" bgcolor="#FFFFFF"font size="2"${qiuzu.jzmj}/font/td
td align="center" bgcolor="#FFFFFF"font size="2"${qiuzu.zj}/font/td
td align="center" bgcolor="#FFFFFF"font size="2"${qiuzu.addDate}/font/td
td align="center" bgcolor="#FFFFFF"font size="2"${qiuzu.yxts}/font/td
td align="center" bgcolor="#FFFFFF"font size="2" color="red"${qiuzu.syts}/font/td
/tr
/c:forEach
/c:otherwise
/c:choose
/table
/p
table width="300" align="center"
tr
td align="center"font size="2"共${countpage}頁/font/td
td align="center"font size="2"${currentpage}/${countpage}頁/font/td
td align="center"a href="OutDateQiuzuServlet?nowpage=${1}"font size="2"首頁/font/a/td
td align="center"a href="OutDateQiuzuServlet?nowpage=${currentpage-1}"font size="2"上一頁/font/a/td
td align="center"a href="OutDateQiuzuServlet?nowpage=${currentpage+1}"font size="2"下一頁/font/a/td
td align="center"a href="OutDateQiuzuServlet?nowpage=${countpage}"font size="2"尾頁/font/a/td
/tr
/table
/form
/body
/html
java代碼怎么正則刪除redis的數(shù)據(jù),即批量刪除符合一定條件的redis數(shù)據(jù),現(xiàn)在介紹批量刪除已某些字符開頭的redis數(shù)據(jù):
在Java中連接Redis,并進行操作,首先得加載以JAR包形式存在的Java中的Redis Client,我們這里選擇Jedis。以下是使用Jedis的具體步驟:
在Maven項目中,在pom.xml中增加如下語句(即加載Jedis jar包):
dependency
? ? ?groupIdredis.clients/groupId
artifactIdjedis/artifactId
? ? version2.7.2/version
typejar/type
/dependency
如不是Maven工程,就自行下載Jedis jar包引用即可。
在加載Jedis JAR包之后,可以直接使用新建一個Jedis實例的方法,來建立一個到Redis的連接,并進行操作。不過跟Mysql一樣,每次操作的時候,都建立連接,很耗費性能。解決方法就是從一個連接池中取出連接對象,用完還回去。使用連接池的方案還能解決很多同步性問題。
在Jedis中,管理Redis連接的類是JedisPool
package com.atzy
import?redis.clients.jedis.Jedis; ?
import?redis.clients.jedis.JedisPool;
public?class?RedisHelper?{
public?static?void?main(String[]?args)?{
JedisPool?jedisPool?=?new?JedisPool("localhost",?6379);
?Jedis?jedis?=?null;
try?{
jedis?=?jedisPool.getResource();
? ? ?String?pre_str="ab";?
? ? ??SetString?set?=?jedis.keys(pre_str?+"*");
? ? ? IteratorString?it?=?set.iterator();
? ? ???while(it.hasNext()){
? ? ? ? ??String?keyStr?=?it.next();
? ? ? ? ? System.out.println(keyStr);
? ? ? ? ??jedis.del(keyStr);
? ? ? ? }
}?catch?(Exception?e)?{
e.printStackTrace();
}?finally?{
if?(jedis?!=?null)
jedis.close();
}
jedisPool.destroy();
}
}
以上代碼則是批量刪除以某字符串前綴的key 。
/*
怎么用java同時實現(xiàn)批量刪除,批量修改?
*/
//1,可以利用循環(huán)批量來操作數(shù)組元素
int arr[] = new int[100];//定義一個數(shù)組,長度為100
//對該數(shù)組進行批量賦值
for (int i = 0; i arr.length; i++) {
arr[i] = i;
}
//2,對于集合,可以使用removeALL方法進行批量刪除
ListString list = new ArrayListString();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.removeAll(list);
System.out.println(list);
//這上是java自帶的一些方法
//3,JDBC
/**
* 對于數(shù)據(jù)庫的操作,就需要用SQL語言來批量處理了;
* 比如:select *from EMP;
*
* 利用JDBC的一些方法,比如預處理命令,可以對數(shù)據(jù)庫進行批量操作,
*/
從你給的代碼中可以看出,五次循環(huán)中,new出的對象都是賦值給了mod這個變量,結(jié)束循環(huán),mod的值就是最后一次new出的對象,你通過mod自然只能刪除最后一個new出的對象,不管你調(diào)用mod.remove()多少次。
想要全部刪除,這就要看你是否有對「5次循環(huán)中前4次生成的那些對象」的引用,比如放在了一個數(shù)組或者容器中,如果有,就可以遍歷數(shù)組或者容器來刪除,否則你無法刪除,因為你都沒有對它們的引用。
如果還需幫助,你可以把全部的代碼粘貼出來看看~
本文名稱:java代碼關(guān)于批量刪除 java批量處理大量數(shù)據(jù)
文章網(wǎng)址:http://jinyejixie.com/article4/dosgiie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、企業(yè)建站、建站公司、品牌網(wǎng)站設(shè)計、網(wǎng)站設(shè)計、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)