十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
批量去掉Java文件中的注释,可以使用正则表达式进行批量操作,代码如下:
创新互联建站是专业的龙门网站建设公司,龙门接单;提供成都网站设计、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行龙门网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
public class CopyJava {
public static void main(String[] args) throws IOException {
copy("e:/src", "e:/desc"); // 这里写好源文件夹和目的文件夹
}
private static void copy(String srcPath, String descPath) throws IOException {
copy(new File(srcPath), new File(descPath));
}
private static void copy(File srcFile, File descFile) throws IOException {
if (srcFile.isFile()) { // 文件
File parent = descFile.getParentFile();
if (!parent.exists()) {
parent.mkdirs(); // 创建文件夹
}
if (srcFile.getName().endsWith(".java")) {
copyJava(srcFile, descFile);
} else {
copyFile(srcFile, descFile);
}
} else { // 文件夹
for (File file : srcFile.listFiles()) {
// 相对路径
String srcPath = file.getAbsolutePath().substring(srcFile.getAbsolutePath().length());
copy(file, new File(descFile.getAbsolutePath() + srcPath));
}
}
}
private static void copyJava(File srcFile, File descFile) throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(descFile)));
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(srcFile)));
String line;
while ((line = br.readLine()) != null) {
bw.write(line.replaceFirst("/\\* \\*/", "")); // 注意这里,如果不行,要适当修改
bw.write("\n");
}
br.close();
bw.close();
}
private static void copyFile(File srcFile, File descFile) throws IOException {
OutputStream output = new FileOutputStream(descFile);
InputStream input = new FileInputStream(srcFile);
byte[] buffer = new byte[1024 * 4];
int n = 0;
while ((n = input.read(buffer)) != -1) {
output.write(buffer, 0, n);
}
input.close();
output.close();
}
}
如果是mybatis的话可以传id集合给xml、然后xml使用foreach遍历删除就好了
/*
怎么用java同时实现批量删除,批量修改?
*/
//1,可以利用循环批量来操作数组元素
int arr[] = new int[100];//定义一个数组,长度为100
//对该数组进行批量赋值
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
/**
* 对于数据库的操作,就需要用SQL语言来批量处理了;
* 比如:select *from EMP;
*
* 利用JDBC的一些方法,比如预处理命令,可以对数据库进行批量操作,
*/
从你给的代码中可以看出,五次循环中,new出的对象都是赋值给了mod这个变量,结束循环,mod的值就是最后一次new出的对象,你通过mod自然只能删除最后一个new出的对象,不管你调用mod.remove()多少次。
想要全部删除,这就要看你是否有对「5次循环中前4次生成的那些对象」的引用,比如放在了一个数组或者容器中,如果有,就可以遍历数组或者容器来删除,否则你无法删除,因为你都没有对它们的引用。
如果还需帮助,你可以把全部的代码粘贴出来看看~
本文是记录Java中实现批量删除操纵(Java对数据库进行事务处置),在开始之前先来看上面这样的一个页面图:
上面这张图片表现的是从数据库中查询出的出租信息,信息中进行了分页处置,然后每行的后面提供了一个复选按钮和对应的一个删除操纵,可以选中多个进行操纵,这里主要是进行删除操纵。在执行删除操纵之前先要选中对应的行信息,点击删除选中按钮进行删除。当进行多条信息删除的时候,需要使用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(); //批量执行 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"//font/td
td width="10%" bgcolor="#F1F1F1"font size="3"期望区域/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"//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