zoukankan      html  css  js  c++  java
  • addBatch()用法,java addbatch 什么时候用 这个语法什么意思

    addBatch()用法
      查看文章  
    PreparedStatement.addbatch()的使用
    Statement和PreparedStatement的区别就不多废话了,直接说PreparedStatement最重要的addbatch()结构的使用.

    1.建立链接  
      Connection connection =getConnection();

    2.不自动 Commit
    connection.setAutoCommit(false); 

    3.预编译SQL语句,只编译一回哦,效率高啊
    PreparedStatement statement = connection.prepareStatement("INSERT INTO TABLEX VALUES(?, ?)"); 

    //记录1
    statement.setInt(1, 1);
    statement.setString(2, "Cujo");
    statement.addBatch(); 

    //记录2
    statement.setInt(1, 2);
    statement.setString(2, "Fred");
    statement.addBatch(); 

    //记录3
    statement.setInt(1, 3);
    statement.setString(2, "Mark");
    statement.addBatch(); 

    //批量执行上面3条语句.
    int [] counts = statement.executeBatch(); 

    //Commit it  到(DB)里面
    **
    已安装了microsoft 驱动程序
    jdk1.4; win2000 server;  MS sql2000;

    */

    import java.sql.*;
    class sql
    {
    public static void main(String[] agrs)
    {
    Connection  cn=null;
    Statement stmt=null;
    String     sql=null;

    try
    {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    }
    catch(ClassNotFoundException ex)
    {
    System.out.println("Not find  the  Driver!");
    }

    try
    {
    String urls="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=webroot";//webroot 库名.TALBE 是表名;
    String user="sa";
    String password="password";
    cn= DriverManager.getConnection(urls,user,password);

    //stmt=cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    stmt=cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);

    sql="select  top 10 * from  TABLE1";
    ResultSet rs= stmt.executeQuery(sql);
    while(rs.next())
    {
    System.out.println(rs.getString(2)+"       "+rs.getString(3));

    }


    rs.first();
    System.out.print(rs.getRow()+"       ");
    System.out.println(rs.getString(2)+" 1      "+rs.getString(3));

    rs.last();
    System.out.print(rs.getRow()+"       ");
    System.out.println(rs.getString(2)+" 2      "+rs.getString(3));

    rs.previous();
    System.out.print(rs.getRow()+"       ");
    System.out.println(rs.getString(2)+" 3      "+rs.getString(3));

    rs.next();
    System.out.print(rs.getRow()+"       ");
    System.out.println(rs.getString(2)+" 4      "+rs.getString(3));

    rs.absolute(2);
    System.out.print(rs.getRow()+"       ");
    System.out.println(rs.getString(2)+" 5      "+rs.getString(3));

    /*
    rs.afterLast();
    System.out.print(rs.getRow()+"       ");
    System.out.println(rs.getString(2)+"       "+rs.getString(3));
    System.out.print(rs.isAfterLast());

    rs.beforeFirst();
    System.out.print(rs.getRow()+"       ");
    System.out.println(rs.getString(2)+"       "+rs.getString(3));
    */
    String sql1="update  TABLE1 set 题目=?   where id=? ";
    PreparedStatement stmt1 = cn.prepareStatement(sql1);
    String stat  = new String("盛夏话足部保健");
    String stat1 = UnicodeToGB(stat);//解决中文问题
    stmt1.setString(1,stat1);
    stmt1.setInt(2,3423);
    stmt1.executeUpdate();
    cn.commit();

    //System.out.println(stat1);
    //System.exit(0);

    //cn.setAutoCommit(false);

    stmt.addBatch("update  TABLE1 set 题目="盛夏话足部保健1"   where id="3407"");
    stmt.addBatch("update  TABLE1 set 题目="夏季预防中暑膳食1" where id="3408"");
    stmt.addBatch("INSERT INTO  TABLE1  VALUES("11","12","13","","")");
    stmt.addBatch("INSERT INTO  TABLE1  VALUES("12","12","13","","")");
    stmt.addBatch("INSERT INTO  TABLE1  VALUES("13","12","13","","")");
    stmt.addBatch("INSERT INTO  TABLE1  VALUES("14","12","13","","")");
    stmt.addBatch("INSERT INTO  TABLE1  VALUES("15","12","13","","")");
    stmt.addBatch("INSERT INTO  TABLE1  VALUES("16","12","13","","")");
    stmt.addBatch("INSERT INTO  TABLE1  VALUES("17","12","13","","")");
    stmt.addBatch("INSERT INTO  TABLE1  VALUES("18","12","13","","")");

    int [] updateCounts=stmt.executeBatch();
    cn.commit();
    stmt.close();
    cn.close();
    }
    catch(SQLException e)
    {
    System.out.println("The SQLException error!");
    }
    }


    public static String UnicodeToGB(String strIn){
       byte[] b;
       String strOut = null;
       if(strIn == null || (strIn.trim()).equals(""))
       return strIn;
       try{
           b = strIn.getBytes("GBK");
           strOut = new String(b,"ISO8859_1");
       }
       catch(Exception e){
           System.out.println("unicodeToGB exception : " + e.getMessage() + "\n");
       }
       return strOut;
    }
    }

  • 相关阅读:
    Chaikin Curves in Processing
    finalize()方法什么时候被调用?析构函数(finalization)的目的是什么?
    System.gc()和Runtime.gc()的区别?
    GC原理---对象可达判断
    java十题
    在 Queue 中 poll()和 remove()有什么区别?
    ArrayList和LinkedList的区别
    HashSet的实现原理
    Java中HashMap和TreeMap的区别
    List、Map、Set之间的联系与区别:
  • 原文地址:https://www.cnblogs.com/langtianya/p/2970178.html
Copyright © 2011-2022 走看看