实例(以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();}}}
}

转载于:https://www.cnblogs.com/sungong1987/p/6559315.html

Java中MySQL事务处理举例相关推荐

  1. java中mysql中标点符号_java – 如何在使用JDBC从MySQL数据库中提取数据时避免丢失标点符号?...

    首先,我正在使用: Java 1.7.0_02 MySQL 5.1.50 ZendServer CE (if that matters) 我用来从Java连接到MySQL的JDBC驱动程序是com.m ...

  2. java中switch用法举例范围_Java中Switch用法代码示例

    一.java当中的switch与C#相比有以下区别 注:在java中switch后的表达式的类型只能为以下几种:byte.short.char.int(在Java1.6中是这样), 在java1.7后 ...

  3. java中各种vo举例_了解JAVA中的POJO,Entity,PO,VO,DTO,DM包括代码举例展示

    标签: 首先是从概念上来说 POJO,全称Plain Ordinary Java Object,我理解为极其单纯的Java对象 一般只有属性字段,无参构造以及get和set方法,也是指那些没有从任何类 ...

  4. java之MySQL事务处理

    废话不多说,直接看图: 上面就是一个简单的事务流程 ,其实呢,在我们平时操作的MySQL语句都涉及到了事务处理,每一条语句都是一个事务,mysql客户端默认是开启了自动提交事务,可以这样查看: 上面1 ...

  5. Java中mysql的读写分离_mysql读写分离

    MySQL读写分离原理 MySQL的主从复制和MySQL的读写分离两者有着紧密联系,首先部署主从复制,只有复制完了,才能在此基础上进行数据的读写分离. 读写分离就是只在主服务器上写,只在从服务器上读, ...

  6. java中mysql分组查询_ES对应mysql的group by分组查询javaApi,多对多关系的分组查询...

    ES对应mysql的group by分组查询javaApi,多对多关系的分组查询 比如我这边有个下列订单索引数据,现在的需求是按用户(fmerchantId)和支付方式(fchannelId)进行分组 ...

  7. java中final double_举例讲解Java中final关键字的用法

    1. final variable final variable 就是一个常量,一旦被初始化就不可以被改变. class Test1 { final double PI = 3.14; //常量的名称 ...

  8. java中mysql数据库原理_MySql数据库索引原理

    本文主要是阐述索引机制,主要是说明存储引擎Innodb 第一部分主要从及理论层面讨论MySQL索引的数理基础. 第二部分结合MySQL数据库中InnoDB数据存储引擎中索引的实现讨论聚集索引.非聚集索 ...

  9. java中mysql中标点符号,Mysql中英文标点符号错乱

    大批量的数据操作,查询与更新,被特殊字符搞乱了神经! 数据库环境:Mysql 操作语言:Python 现象:类似^&=+)(:"之类的特俗符号,中英文错乱 导致包含这些字符的记录永远 ...

最新文章

  1. linux 安装java10
  2. android系统源代码添加新产品的支持
  3. Halcon :畸变矫正与标定(2)
  4. 别让数据坑了你!用置信学习找出错误标注(附开源实现)
  5. python中文件操作的相关函数有哪些_Python常见文件操作的函数示例代码
  6. 机器学习之集成算法----Adaboost算法
  7. python中文列名报错__mssql.MSSQLDatabaseException:(207,b“无效列名'Hello'。DBLib错误消息20018...
  8. Java简单语法与访问权限修饰符
  9. 将一个数组的值逆序排列
  10. HTML5从入门到精通电子书pdf下载
  11. Python在数学建模中的简单运用
  12. 【YOLOV5-5.x 源码解读】yolo.py
  13. numpy学习(五)——文件的保存和读写(np.save()、np.load()、np.savez()、np.savetxt()、np.loadtxt())
  14. nuxt 目录结构及配置文件详解
  15. css 笔记——设置禁用中文输入法
  16. 个人永久性免费-Excel催化剂功能第60波-数据有效性验证增强版,补足Excel天生不足...
  17. H5移动端 引入高德地图(获取经纬度与地址带搜索反选
  18. Stereo Matching文献笔记之(六):浅谈置信度传播算法(Belief-Propagation)在立体匹配中的应用~
  19. 火车头+php教程,dede使用火车头采集视频教程
  20. bzoj 2648 SJY摆棋子 cdq分治+树状数组

热门文章

  1. 【边缘检测】RCF: Richer Convolutional Features for Edge Detection
  2. 信用卡如何安全取现?
  3. tp3.2 不能提交到action方法_什么是死锁,如何避免死锁(4种方法)
  4. mysql各种联结的区别_mysql几种连接方式区别
  5. mysql left join 查询_MySQL联表查询基本操作之left-join常见的坑
  6. java 桥 word_java导出word的6种方式(转发)
  7. 加仓减仓口诀_做短线必备口诀
  8. 【重大修改】动态时间规整(Dynamic Time Warping)
  9. MySQL查询之聚合查询
  10. C语言程序设计II—第八周教学