那位大侠知道在Java数据库操作时使用PreparedStatement执行多条SQL语句时如何使用事务 那位大侠知道在Java数据库操作时使用PreparedStatement执行多条SQL语句时如何使用事务最好能给个例子。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 事务控制是connection的事情connection.setAutoCommit(false);//statement 可以是各种statement,默认不用事务是自动提交//若用事务就把代码写在这之间connection.commit();在给你一个例子: /** * 从数据库中读取二进制文件 create date:2009-5-13 author:Administrator * * @param file * @param conn */ public void getBinary(String file, Connection conn) { // 注意二进制文件从数据库中读取时所用到的类,以及类的包装转换过程 try { PreparedStatement ps = conn .prepareStatement("select text from bankVoice where name=?"); ps.setString(1, file); Blob blob = null; ResultSet rs = ps.executeQuery(); if (rs.next()) { blob = (Blob) rs.getBlob("text"); } FileOutputStream fos = new FileOutputStream("D:\\test1.mp3"); fos.write(blob.getBytes(1, (int) blob.length())); System.out.println("二进制文件获得成功"); ps.clearParameters(); ps.close(); fos.close(); } catch (Exception e) { e.printStackTrace(); System.out.println("读取二进制文件时出现异常"); } } try { conn = DriverManager.getConnection ; conn.setAutoCommit(false);//禁止自动提交,设置回滚点 stmt = conn.createStatement(); stmt.executeUpdate(“alter table …”); //数据库更新操作1 stmt.executeUpdate(“insert into table …”); //数据库更新操作2 conn.commit(); //事务提交 }catch(Exception ex) { ex.printStackTrace(); try { conn.rollback(); //操作不成功则回滚 }catch(Exception e) { e.printStackTrace(); }}本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/friendliu/archive/2008/07/01/2602455.aspx这是一个例子,参考下。 学了hibernate就知道怎么处理了 用JDBC的话 很麻烦 不能同时处理多条 静态方法问题 JDBC连接SQL SERVER 2005 Java JPanel 问题(急!!!) 关于接口的几个问题~~应该不难~ 创建一个[10][8]的数组太大? 如何用java垂直显示字符串 学习一周来的总结,这里只是交流(此时没分胜有分),还有几个问题问下高手们! 大家来看看这是怎么回事啊? java 版聊天室程序 大虾救我~~ Java能转定义吗? 推荐几本学习高级Swing编程的好书
connection.setAutoCommit(false);//statement 可以是各种statement,默认不用事务是自动提交
//若用事务就把代码写在这之间connection.commit();在给你一个例子: /**
* 从数据库中读取二进制文件 create date:2009-5-13 author:Administrator
*
* @param file
* @param conn
*/
public void getBinary(String file, Connection conn) { // 注意二进制文件从数据库中读取时所用到的类,以及类的包装转换过程
try {
PreparedStatement ps = conn
.prepareStatement("select text from bankVoice where name=?");
ps.setString(1, file);
Blob blob = null;
ResultSet rs = ps.executeQuery();
if (rs.next()) {
blob = (Blob) rs.getBlob("text");
}
FileOutputStream fos = new FileOutputStream("D:\\test1.mp3");
fos.write(blob.getBytes(1, (int) blob.length()));
System.out.println("二进制文件获得成功"); ps.clearParameters();
ps.close();
fos.close(); } catch (Exception e) {
e.printStackTrace();
System.out.println("读取二进制文件时出现异常");
}
}
try { conn = DriverManager.getConnection ; conn.setAutoCommit(false);//禁止自动提交,设置回滚点 stmt = conn.createStatement(); stmt.executeUpdate(“alter table …”); //数据库更新操作1 stmt.executeUpdate(“insert into table …”); //数据库更新操作2 conn.commit(); //事务提交 }catch(Exception ex) { ex.printStackTrace(); try { conn.rollback(); //操作不成功则回滚 }catch(Exception e) { e.printStackTrace(); }}本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/friendliu/archive/2008/07/01/2602455.aspx这是一个例子,参考下。