小弟新手,什么是批处理,给个例子
解决方案 »
- eclipse 不能再左上角显示图片
- 高分求救查询树形结构中某节点逆展开所有路径问题
- 几个对象跟帖!请关注,并指点!
- 有谁可以提供一份较完整的JAVA包的说明?????谢谢!!!
- 关于二叉树的问题,郁闷
- 求助java程序源代码,如成功者,奖励100分。
- 高分求解:服务器sunone,使用人数稍微多一点,session丢失很快,刚刚登录就断了,请问怎么解决?
- 不能运行JarFile.jar文件
- 关于sun.net.ftp.FTPClient类,回答极简单问题拿高分
- System.getProperty(String key),这里的输入参数key有哪些值,有没有查询列表?
- 关于JAVA做应用程序的一个问题高手进
- 内部类中为什么不能声明类变量与类方法呢???
楼主【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
简单例子:
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%
下面这段性能差for(int i=0;i<1000;i++){
ready();
exit();
end();
}下面是批处理,性能提升很多ready();
for(int i=0;i<1000;i++){
exit();
}
end();
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 语句的对象。
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();
}
}
}
}