java的事务处理,如果对数据库进行多次操作,每一次的执行或步骤都是一个事务。
JavaBean中使用JDBC方式进行事务处理
public int add() { db = new DataBaseConnection(); Connection con = db.getConnection(); try { con.setAutoCommit(false);// 更改JDBC事务的默认提交方式 dbc.executeUpdate("insert into student(name,age)values(‘zhangsan’,18)); dbc.executeUpdate("insert into achievement(name,math,english)values(‘zhangsan’,88,92)); con.commit();//提交JDBC事务 con.setAutoCommit(true);// 恢复JDBC事务的默认提交方式 dbc.close(); return 1; } catch (Exception exc) { con.rollBack();//回滚JDBC事务 exc.printStackTrace(); dbc.close(); return -1; } }注:在Java中使用事务处理,首先要求数据库支持事务。如使用MySQL的事务功能,就要求MySQL的表类型为Innodb才支持事务。否则,在Java程序中做了commit或rollback,但在数据库中根本不能生效。
查看MySQL数据库使用事务,相关数据表必须为InnoDB引擎 查看数据表状态: SHOW TABLE STATUS FROM test WHERE NAME=‘register’ 其中test为数据库,register为表名 修改数据表类型为InnoDB alter table register engine = innodb;