发现了mysql某些ENGINE下不能rollback事务(已经设置了setAutoCommit(false); )代码:
con = DriverManager.getConnection("jdbc:mysql:///jk","rjk", "sivaji");
con.setAutoCommit(false);
java.sql.Statement stmt = con.createStatement();
stmt.executeUpdate("INSERT INTO jk1(fname, lname) VALUES('a', 'b')");
stmt.executeUpdate("INSERT INTO jk1(fname, lname) VALUES('c', 'd')");
con.rollback(); 
stmt.executeUpdate("INSERT INTO jk1(fname, lname) VALUES('x', 'y')");
con.commit();结果:全部记录都插入到数据库中,理论上应该是前两条记录rollback;第三条才会保存,实际上并不是.原因:mysql 需要设置table 的 ENGINE=InnoDB 才支持以上的例子中的功能.发贴共享一下.