package cn.hncu;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class TxDemo {
public static void main(String[] args) throws Exception{
Class.forName("com.mysql.jdbc.Driver");
// String url="jdbc:mysql://127.0.0.1:3306/hncu?useUnicode=true&&characterEncoding=UTF-8";
String url = "jdbc:mysql://127.0.0.1:3306/hncu?useUnicode=true&characterEncoding=UTF-8";
Connection con=DriverManager.getConnection(url,"root","1234");
Statement st=con.createStatement();
//用java实现事务处理的简单模板
try {
con.setAutoCommit(false);//SQL:start transacion//开启事务
st.execute("INSERT into person values('p05','赵子龙','1')");
st.execute("INSERT into car values('c008','BMW',50,'p05')");
// st.execute("INSERT INTO car VALUES('c008','QQ',7,'p05')");//用于测事务回滚
st.execute("INSERT INTO car VALUES('c009','QQ',7,'p05')");//用于测事务提交
System.out.println("提交一个事务....");
con.commit();//SQL: COMMIT; //提交
} catch (Exception e) {
System.out.println("回滚一个事务.....");
con.rollback();//SQL: ROLLBACK; //回滚
}
String sql="select * from person";
ResultSet rs=st.executeQuery(sql);
while(rs.next()){//表示有没有移到数据行,有则返回true
String id= rs.getString("id");//字段名
String name = rs.getString(2);//字段序号--从1开始
System.out.println(id+","+name);
}
}
}
java--事务原理
最新推荐文章于 2023-09-01 01:20:09 发布