zoukankan      html  css  js  c++  java
  • mySql事务_ _Java中怎样实现批量删除操作(Java对数据库进行事务处理)?

     

    本文是记录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; 
        } 

    (责任编辑:幽灵学院)
  • 相关阅读:
    使用递归方式判断某个字串是否是回文( palindrome )
    方法的动手动脑
    设计统计英文字母出现频率的感想
    原码、补码、反码
    java语法基础报告
    人月神话阅读笔记01
    第六周学习进度报告--(大二下)
    第五周学习进度报告--(大二下)
    梦断代码阅读笔记03
    个人作业--数组之首尾相连
  • 原文地址:https://www.cnblogs.com/awkflf11/p/5956884.html
Copyright © 2011-2022 走看看