package transaction; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.Types; public class Transaction { public static void main(String[] args) { // TODO Auto-generated method stub String url = "jdbc:mysql://localhost:3306/test"; String user = "u1"; String user_password = "123"; String sql=""; Connection conn=null; Statement sta=null; ResultSet rs; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(url, user, user_password); /*sta = conn.createStatement(); sql="insert into user(name,password) values 'tom','123'"; System.out.println(sql); sta.executeUpdate(sql);*/ CallableStatement cs=conn.prepareCall("call p1(?,?,?)"); cs.setInt(1, 10); cs.setInt(2,10); cs.registerOutParameter(3, Types.INTEGER); cs.executeUpdate(); //cs.executeQuery(); cs.getInt(3); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println(e.getErrorCode());//1213ËÀËø 1205³¬Ê± System.out.println(e.getMessage()); try{ conn.rollback(); conn.close(); sta.close(); }catch(SQLException e1){ e1.printStackTrace(); } } } }