本文是记录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. Ashx的处理实例(逻辑处理/js调用)

    做asp.net开发的对.aspx,.ascx和.ashx都不会陌生.关于它们,网上有很多文章介绍.“纸上得来终觉浅,绝知此事要躬行”,下面自己总结一下做个笔记.1..aspxWeb窗体设计页面.We ...

  2. secureCRT的一些小知识

    secureCRT 是一个非常不错的终端软件,在嵌入式开发过程中经常使用到,所以了解一下其快捷键操作是非常有必要的,可以提高开发效率. 0.在secureCRT里切换不同的窗口:ctrl+tab.   ...

  3. Java 网络爬虫获取网页源代码原理及实现

    Java 网络爬虫获取网页源代码原理及实现 1.网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL ...

  4. tinyxml一个优秀的C++ XML解析器

    读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好. TinyXML是一个开源的解 ...

  5. PHP反向代理-百度图片

    最近在一些开发中需要调用百度贴吧等一系列的百度图片 但是防盗链实在讨厌 于是就简单利用curl实现了反向代理(应该是这么叫的) 如果网站直接调用百度图片 会出现如下(博客园貌似在白名单 可以直接用百度 ...

  6. charles使用

    charles和fillder功能差不多,易用性更好些 1.安装和破解,替换charles.jar文件 2.手机代理: 设置charles 设置手机wifi将http代理修改成手动,填写本机ip地址和 ...

  7. robotframework接口测试初探3

    接口自动化环境搭建好了 requests接口测试模块也会用了 那么怎样整合到RF的框架呢? 写一个小例子

  8. Exynos 4412

    Exynos 4412采用了三星最新的32nm HKMG工艺,是三星的第一款四核处理器 1.启动 有时间再接着写……

  9. 采集数据和memchche的存储使用,分页展示

    <?phpheader('content-type:text/html;charset=utf-8');//实例化memcache$mem=new Memcache();//链接$mem-> ...

  10. 《java编程思想》读书笔记(二)第五章(2)

    成员初始化 Java尽力保证:所有变量在使用前都能得到恰当的初始化. 对于方法的局部变量,Java会以编译时报错的形式贯彻这种保证,比如: void f() { int i; //这里编译时就会报错, ...