本文是记录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. UIView---汇总

    视图.绘图.贴图.手势.变形.布局.动画.动力.特效 UIBezierPath.UIGestureRecognizer.CGAffineTransform.frame.bounds.center.tr ...

  2. POJ 2653

    题目大意:一个小孩不断往地上扔棍子,共n根,求结束后共有多少根不与去他相交. 解法思路:典型的判断线段相交问题,利用快速排斥+双跨立判断相交,最后输出没相交的. (图片来源:http://www.2c ...

  3. js或者ext js获取返回值

      由于前台业务需要在判断中发起ajax到后台,根据返回值校验是否通过 代码如下 关键点在于要将async关闭 设置成同步,这样才能接收到要返回的flag                       ...

  4. HTML5地理定位

    1.通过navigator.geolocation来获取设备当前位置,返回一个位置对象,可以获得当前经纬度相关信息: 2.navgatior.geolocation的三个方法: getCurrentP ...

  5. Can only set Cookies for the current domain

    # -*- coding: utf-8 -*- """ Created on Mon Dec 12 14:35:49 2016 @author: yaru "& ...

  6. 新冲刺Sprint3(第四天)

    一.Sprint介绍 实现了SQLite数据库记录自动登录.注销功能 真机测试效果图:     二.Sprint周期 看板: 燃尽图:

  7. 微软雅黑 在css里怎么写

    1.首先要了解css中是如何控制字体的. font:在一个声明中设置所有字体属性: font有以下几个属性: font-style:字体样式 font-variant:字体异体 font-weight ...

  8. sdk 简单说明文档草稿。

    SDK初始化: HighApi为SDK核心类,请客户端持有其唯一单例对API进行调用. HighApi构造器函数 HighApi(Context appContext, final String ap ...

  9. ST第二次作业,相关程序测试及测试用例

    public static int findLast(int[]x,int y){ for(int i = x.length-1;i>0;i--){//i>=0 if(x[i] == y) ...

  10. include/asm/dma.h

    /* $Id: dma.h,v 1.7 1992/12/14 00:29:34 root Exp root $ * linux/include/asm/dma.h: Defines for using ...