本文是记录Java实现批量删除操作Java数据库进行事务处理),在开始之前先来看下面这样的一个页面图:

上面这张图片显示的是从数据库中查询出的出租信息,信息中进行了分页处理,然后每行的前面提供了一个复选按钮和对应的一个删除操作,可以选中多个进行操作,这里主要是进行删除操作。在执行删除操作之前先要选中对应的行信息,点击删除选中按钮进行删除。当进行多条信息删除的时候,需要使用java的事务处理机制对数据库进行删除,也就是说删除的时候如果选中的要删除的说有信息其中一条没有成功删除的话,那么就都不删除。

现在是在java中对数据库实现这一操作,我们可看下面的代码,它实现了对数据库的批量删除操作,代码如下:

[java]  <SPAN style="WHITE-SPACE: pre"> </SPAN>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=root&password=root&useUnicode=true&characterEncoding=GB2312"; 
        try { 
            Class.forName(driver); 
            con=DriverManager.getConnection(url,"root","root"); 
        } catch (ClassNotFoundException e) { 
            e.printStackTrace(); 
        } catch (SQLException e) { 
            e.printStackTrace(); 
        } 
    }

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=root&password=root&useUnicode=true&characterEncoding=GB2312";
  try {
   Class.forName(driver);
   con=DriverManager.getConnection(url,"root","root");
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }

[java]  <SPAN style="WHITE-SPACE: pre"> </SPAN>/**
     * 批量删除信息表中的信息
     * @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 ;i<param.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; 
    }

(责任编辑:幽灵学院)

mySql事务_ _Java中怎样实现批量删除操作(Java对数据库进行事务处理)?的更多相关文章

  1. 使用Ajax实现的批量删除操作(C#)

    今天做了一个简单的批量删除操作,虽然简单,但是很多问题出现,终究还是技术不够熟练. 现在在这里跟大家分享一下.仅供学习... 1.在前台获取用户点击的信息id,把这里id封装到一个数组里面:(rows ...

  2. redis 批量删除操作

    redis 批量删除操作 需要在redis里面清空一批数据,redis没有支持通配符删除, 只有del key1 key2 ... 但是可以通配符获取 KEYS PATTERN 然后利用linux管道 ...

  3. 在WebGrid中做 批量删除操作

    一般的MVC WebGrid都是在每一行中加入 Edit Detail Delete 这些Link 去对每条记录去单独操作. 稍微研究了一下总结一个 做批量删除的办法. 1. 首先是在WebGrid中 ...

  4. 关于dbutils中QueryRunner看批量删除语句batch

    //批量删除 public void delBooks(String[] ids) throws SQLException { QueryRunner qr = new QueryRunner(C3P ...

  5. SSM + MySQL批量删除操作

    最近项目中有个购物车功能需要能够选中商品,然后批量删除的操作,也可以单个删除,其实代码很简单就能实现. 这里需要注意的就是你前端是怎么传值的,我这里采用的数组的形式,用 ‘,’隔开. 然后控制层代码如 ...

  6. qt tablewidget中单个和批量删除代码如下(部分)截图如下

    def coltable(self):#行删除    row=self.downwidget.currentRow()    select=self.downwidget.isItemSelected ...

  7. (后端)Mybatis实现批量删除操作(转)

    原文地址:https://blog.csdn.net/javaee_sunny/article/details/52511842 一. 这里主要考虑两种参数类型:数组或者集合. 而这点区别主要体现在E ...

  8. mybatis的批量删除操作

    需求描述:将符合某条件的几条记录删除 解决思路:对于多个id,可以使用sql关键词 in ,只要满足数据库的id在你的id集合或者list中,就删除,从而实现批量删除.循环delete方法是在是low ...

  9. 复选框批量删除操作-jquery方式

    1.首先在页面添加一个批量删除的按钮:<li class="btns"><input id="deleteSubmit" class=&quo ...

随机推荐

  1. XML代码生成器——XMLFACTORY 简介(四)

    XML代码生成器——XMLFACTORY 简介(四) 这一篇我们讲“类属性”页签的配置功能,您将了解到:如何为元素子值指定类属性的名称,数据类型,及容器类型. 如果,你没看过这个系列的第一篇文章,请先 ...

  2. (转)浅析JS运行机制

    原文 从一个简单的问题谈起: 1 <script type="text/javascript"> 2 alert(i); // ? 3 var i = 1; 4 < ...

  3. Oracle监听器启动出错:本地计算机上的OracleOraDb11g_home1TNSListener服务启动后又停止了解决方案

    一.错误描述 登陆PL/SQL Developer登陆本地数据库时先报没有监听程序,查看服务发现Oracle监听服务没有启动.右击启动监听程序,报错: 错误描述:本地计算机上的OracleOraDb1 ...

  4. (转)笔记320 SQLSERVER中的加密函数 2013-7-11

    1 --SQLSERVER中的加密函数 2013-7-11 2 ENCRYPTBYASYMKEY() --非对称密钥 3 ENCRYPTBYCERT() --证书加密 4 ENCRYPTBYKEY() ...

  5. iOS 9正式版开始推送 升级机型非常广泛

    北京时间今日零时,苹果正式推送了iOS9,对于iPhone和iPad来说这一版系统升级都有很多重要改进,而升级的机型也非常宽泛,甚至连2011年的iPad 2与iPhone 4s都获得了支持,所以广大 ...

  6. python 实现文件下载

    Requests库,高度封装的http库 import requests url = 'http://down.sandai.net/thunder9/Thunder9.0.18.448.exe' f ...

  7. ie6对hover兼容性问题的解决:

    ie6对hover兼容性问题的解决: 1,在body里添加以下样式: behavior:url(../scripts/csshover.htc); csshover.htc可直接在网上下载 2,js解 ...

  8. EL表达式有无双引号的区别

    最近做项目时发现原来对EL表达式理解太浅,通过一个springMVC项目,加深了对其的理解,下面总结一下,如发现有不对之处,请批评指正: 1.在单独的js文件中,EL表达式无效,如:var type= ...

  9. 【OPENGL】第三篇 着色器基础(一)

    在这一章,我们会学习什么是着色器(Shader),什么是着色器语言(OpenGL Shading Language-GLSL),以及着色器怎么和OpenGL程序交互. 首先我们先来看看什么叫着色器. ...

  10. entity framework自动迁移

    第一步,建立测试项目,普通的WinForm类型,EntityMigration: 第二步,从NuGet为项目添加MySql.Data.Entity,由Oracle提供,我选择人气高的: 第三步,建立实 ...