小弟新手,什么是批处理,给个例子

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【lovemeone】截止到2008-07-19 23:02:39的历史汇总数据(不包括此帖):
    发帖的总数量:0                        发帖的总分数:0                        每贴平均分数:0                        
    回帖的总数量:1                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:---------------------结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    把一些命令序列写到一个 .bat文件里,通过直接运行这个文件就能按顺序执行你写在里面的命令,这就是批处理。
    简单例子:
    rem Guess CATALINA_HOME if not defined
    set CURRENT_DIR=%cd%
    if not "%CATALINA_HOME%" == "" goto gotHome
    set CATALINA_HOME=%CURRENT_DIR%
    if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
    cd ..
    set CATALINA_HOME=%cd%
    cd %CURRENT_DIR%
      

  3.   

    批处理目的就是增加性能
    下面这段性能差for(int i=0;i<1000;i++){
        ready();
        exit();
        end();
    }下面是批处理,性能提升很多ready();
    for(int i=0;i<1000;i++){
        exit();
    }
    end();
      

  4.   


    conn数据库的连接对象,PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
                                         SET SALARY = ? WHERE ID = ?");
       pstmt.setBigDecimal(1, 153833.00)
       pstmt.setInt(2, 636765)
       pstmt.addBatch() ;//将一组参数添加到此 PreparedStatement 对象的批处理命令中。   pstmt.setBigDecimal(1, 23434.00)
       pstmt.setInt(2, 2341)
       pstmt.addBatch() ;   pstmt.setBigDecimal(1, ertet33.00)
       pstmt.setInt(2, 1132)
       pstmt.addBatch() ;
       pstmt.executeUpdate() ;//在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个SQL INSERT、    UPDATE 或 DELETE 语句;或者是一个什么都不返回的 SQL 语句,比如 DDL 语句。在这里修改了数据库里的三条记录
    PreparedStatement 是表示预编译的 SQL 语句的对象。 
      

  5.   

    给你一个完整的
    import java.sql.*;
    public class TestBatch{
    public static void main(String[] args){
    Connection conn = null;
    try{
    Class.forName("oracle.jdbc.driver.OracleDriver");
    String url = "jdbc:oracle:thin:@localhost:1521:ora9";
    conn = DriverManager.getConnection(url,"scott","tiger");
    conn.setAutoCommit(false);
    Statement stmt = conn.createStatement();
    stmt.addBatch("insert into teacher values(11,'Tom',2500)");
    stmt.addBatch("insert into teacher values(12,'John',3400)");
    stmt.addBatch("insert into teacher values(13,'Billy',3150)");
    stmt.addBatch("update teacher set salary = salary + 88");
    stmt.executeBatch();
    conn.commit();

    ResultSet rs = stmt.executeQuery("select * from teacher");
    while(rs.next()){
    System.out.println(rs.getInt(1) + "\t" + rs.getString(2).trim() + "\t" + rs.getDouble(3));
    }
    rs.close();
    stmt.close();
    }catch(Exception e){
    System.out.println("Failure,rollback!");
        try{
         conn.rollback();   
        }catch(Exception e1){
         e.printStackTrace();
        }     
        e.printStackTrace();
    }finally{
    try{
    if(conn != null){
    conn.close();
    }
    }catch(Exception e){
         e.printStackTrace();
    }
    }
    }
    }