实例(以sql语句中的insert语句为例)

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; /**
* 事务的基本用法
*
*/
public class Test
{
public static void main(String[] args)
{
Connection conn = null;
PreparedStatement ps1 = null;
PreparedStatement ps2 = null; try
{
//加载驱动类
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testjdbc","root","123456"); conn.setAutoCommit(false); //JDBC中默认是true,我们改成false,然后在后面手动提交 ps1 = conn.prepareStatement("insert into t_user (username,pwd) values (?,?)");//?是占位符
ps1.setObject(1, "张三");
ps1.setObject(2, "666666");
ps1.execute();
System.out.println("插入一个用户张三"); try
{
Thread.sleep(3000);
}
catch (InterruptedException e)
{
e.printStackTrace();
} ps2 = conn.prepareStatement("insert into t_user (username,pwd) values (?,?)");
ps2.setObject(1, "李四");
ps2.setObject(2, "123456");
ps2.execute();
System.out.println("插入一个用户李四"); conn.commit();//提交事务
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
try
{
conn.rollback();//某一条数据添加失败时,回滚
}
catch (SQLException e1)
{
e1.printStackTrace();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
try
{
if(ps1!=null)
{
ps1.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
try
{
if(conn!=null)
{
conn.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
}

最新文章

  1. Fedora下的解压
  2. 优化MyBatis配置文件中的配置
  3. 【设计模式 - 13】之责任链模式(Chain Of Responsibility)
  4. 一步一步学MySQL-日志文件
  5. Node.js 蚕食计划(四)—— Express + SQL Server 搭建电影网站
  6. Linux shell 脚本(三)
  7. XamarinForm Effects 调用事件
  8. mybatis的逆向工程和中文注解
  9. Mybatis 事务管理
  10. laravel路由别名
  11. Java SpringBoot中使用sqljdbc4注意事项 java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
  12. @JsonInclude、@JsonFormat、@DateTimeFormat注解的使用
  13. 第四次Scrum meeting
  14. Servlet笔记8--乱码解决方案
  15. android4.0后无法向Servlet发送请求解决办法
  16. springbatch---->springbatch的使用(四)
  17. TFS撤销其他人的迁出
  18. 2018.07.08 hdu4521 小明系列问题——小明序列(线段树+简单dp)
  19. mysql connection phase(未整理)
  20. C#实现AStar寻路算法

热门文章

  1. 排序(3)---------冒泡排序(C语言实现)
  2. 安卓版微信自带浏览器和IE6浏览器ajax请求abort错误处理
  3. Android webView 缓存 Cache + HTML5离线功能 解决
  4. hdoj--3666--THE MATRIX PROBLEM(差分约束+SPFA深搜)
  5. Servlet学习(二)——ServletContext对象
  6. miniUI打开一个新的画面(ondestroy)
  7. javascript中的正则示例
  8. oc语言的特点
  9. swift语言点评六-Numbers and Basic Values
  10. 路飞学城Python-Day5