JDBC--编程之事务处理--回滚的简单实例
2015-10-08 18:44
369 查看
代码如下:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class JdbcThings { //获取数据库连接的方法 public static Connection getConnection(){ Connection con=null; try { Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/new_Prictice","root",""); } catch (Exception e) { } return con; } //想数据库中添加记录的方法 public void insertUser_t(Connection con) throws SQLException{ String sql ="insert into user_t (id,name,password,email) values " + "('10','liuye','123456','123456@163.com') "; Statement st=con.createStatement(); int count =st.executeUpdate(sql); System.out.println("想数据库中添加了"+count+"条记录"); } public void insertUser_adress(Connection con) throws SQLException{ String sql ="insert into user_adress (id,city,country,user_id) values " + " ('1','huashengdun','meiguo','1')"; Statement st= con.createStatement(); int count =st.executeUpdate(sql); System.out.println("想数据库中添加了"+count+"条记录"); } public static void main(String[] args) { JdbcThings jt= new JdbcThings(); Connection con=null; try { con=getConnection(); con.setAutoCommit(false); jt.insertUser_t(con); jt.insertUser_adress(con); con.commit(); } catch (SQLException e) { System.out.println("捕获到----sql异常------"); e.printStackTrace(); try { //进行实物回滚 con.rollback(); System.out.println("事务回滚成功"); } catch (Exception e2) { e2.printStackTrace(); } } //最后关闭连接 finally{ try { con.close(); } catch (Exception e3) { e3.printStackTrace(); } } } }
相关文章推荐
- superoj907 walk
- C代码优化方法小结
- C#多线程编程
- javaEE学习笔记【01】集成环境开发应用、JDK新特性
- eclipse与AVD模拟器断开问题
- Java-WebSocket
- C#学习日记17---显示类型转换具体用例
- 10-2总结
- Java____实现定时任务的三种方法
- java多线程基础
- 应用层 加载驱动 和 卸载驱动代码
- 【C#高效编程50例】条目2:用运行时常量(readonly)而不是编译期常量(const)
- spring 通过编程来获取属性文件
- eclipse svn操作
- C++中重载、重写(覆盖)和隐藏的区别
- PHP中数字千分位逗号分隔函数number_format()
- Python 实例变量、类变量、静态变量 (十九)
- 【c++ templates读书笔记】【6】模板的多态
- 【c++ templates读书笔记】【6】模板的多态
- superoj906 flood