頁面時JSP頁面吧,從數據庫中讀取的數據應該是分頁顯示出來的如果你的頁面的數據記錄的條數是pageSize個 JSP頁面:for(int i=0;ipageSize;i++){ input type=checkbox name=%=i % value=%=id %記錄內容 // 循環(huán)顯示每條記錄并加入復選框,id是表的主碼
創(chuàng)新互聯(lián)公司是專業(yè)的興安網站建設公司,興安接單;提供成都做網站、成都網站建設,網頁設計,網站設計,建網站,PHP網站建設等專業(yè)做網站服務;采用PHP框架,可快速的進行興安網站開發(fā)網頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網站,專業(yè)的做網站團隊,希望更多企業(yè)前來合作!
}點擊刪除按鈕后進入一個Servlet控制器String id=null;for(int i=0;ipageSize;i++){ id=request.getParameter(i+""); if(id!=null){ 刪除記錄方法(String id); }}在model中再寫一個根據ID刪除記錄的類.方法就OK了 很好寫 我就不寫了
本文是記錄Java中實現批量刪除操縱(Java對數據庫進行事務處置),在開始之前先來看上面這樣的一個頁面圖:
上面這張圖片表現的是從數據庫中查詢出的出租信息,信息中進行了分頁處置,然后每行的后面提供了一個復選按鈕和對應的一個刪除操縱,可以選中多個進行操縱,這里主要是進行刪除操縱。在執(zhí)行刪除操縱之前先要選中對應的行信息,點擊刪除選中按鈕進行刪除。當進行多條信息刪除的時候,需要使用java的事務處置機制對數據庫進行刪除,也就是說刪除的時候如果選中的要刪除的說有信息其中一條沒有成功刪除的話,那么就都不刪除。
現在是在java中對數據庫實現這一操縱,我們可看上面的代碼,它實現了對數據庫的批量刪除操縱,代碼如下:
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();//提交事務 flag = true; } catch (SQLException e) { try { con.rollback(); //進行事務回滾 } 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);
}
}
上面是對數據庫的操縱代碼,上面看一下頁面中怎樣實現的,代碼如下:
每日一道理?
燈,帶有一種明亮的光,每當深夜來臨,是它陪伴著你,如此默默無聞。它是平凡的,外表華麗與否,那都是一樣的,珍珠點綴,水晶加飾的燈它只能用以裝飾,來滿足人們的虛榮心,比起這,普普通通的日光燈是幸運的,因為它照明的本性沒有改變,如同生活中的一部分人平平凡凡卻實實在在。
%@ 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"有效天數/font/td
td width="10%" bgcolor="#F1F1F1"font size="3"殘余天數/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
連接數據庫
public class DBManager {
//定義數據庫連接的URL
private static final String URL="jdbc:sqlserver://localhost:1433;database=j1105";
//定義數據庫的用戶名
private static final String USERNAME = "sa";
//定義數據庫密碼
private static final String PASSWORD = "sa";
//定義一個連接的引用,使用單例模式
private static Connection conn = null;
//使用靜態(tài)塊來注冊驅動
//類加載時自動執(zhí)行代碼塊
static {
//反射com.microsoft.sqlserver.jdbc.SQLServerDriver.class
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//獲得連接
//在程序使用過程中始終只有1個對象存在
//使用單例模式來給Connection賦值
public static Connection getConnection(){
if(conn == null){
try {
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
}
return conn;
}
/**
* 關閉的一些操作 , 優(yōu)化
* @param conn
* @param stat
* @param rs
*/
public static void close(Connection conn,Statement stat,ResultSet rs){
try{
if(conn != null){
conn.close();
}
if(stat != null){
stat.close();
}
if(rs != null){
rs.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
/**
* 重寫上面的方法,在只有2個參數的情況下關閉
* @param conn
* @param stat
*/
public static void close(Connection conn,Statement stat){
try{
if(conn != null){
conn.close();
}
if(stat != null){
stat.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
public static void main(String[] args){
Connection conn = DBManager .getConnection();
System.out.println(conn);
}
}
接口
public interface IStudentDao {
public void deleteStudent(int xh);
}
實現
public class StudentDAOimpl implements IStudentDao {
public void deleteStudent(int xh) {
try{
String sql = "delete from tb_student where xh = ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, xh);
ps.executeUpdate();
System.out.println("成功刪除");
}catch(SQLException e){
e.printStackTrace();
}
}
}
你好,我用的是sqlserver2005數據庫代碼如下:import java.sql.*;
public class Demo {
public static void main(String agrs[]) {
Connection con = null;
PreparedStatement pstmt = null;
String sql = "delete from user where username=?";
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //設置數據庫連接的驅動
con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=數據庫"); //設置數據庫連接的 URL,用戶名,密碼
pstmt = con.prepareStatement(sql);
pstmt.setString(1, "aaa"); // 設置SQL語句中username的值
int count = pstmt.executeUpdate();
if (count 0) {
System.out.println("操作成功");
} else {
System.out.println("操作失敗");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
新聞名稱:java數據庫的刪除代碼 刪除一個數據庫的代碼
文章路徑:http://chinadenli.net/article18/doddgdp.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站設計、云服務器、建站公司、Google、企業(yè)網站制作、虛擬主機
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)