使用jdbc执行SQL实现登录查询3 -事务查询版

package com.jdsc;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;/*** @author Alina* @date 2022年02月06日 2:51 下午* 开启事务管理数据库,如果事务有异常则回滚到之前的状态* JDBC控制事务:* 	1. 事务:一个包含多个步骤的业务操作。* 	        需要被事务管理,同时成功,同时失败。* 	2. 操作:* 		 开启事务* 		 提交事务* 		 回滚事务* 	3. Connection对象来管理事务* 		开启事务:setAutoCommit(boolean autoCommit) 参数为false:开启事务* 			sql之前开启事务* 		提交事务:commit()* 			sql都执行完提交事务* 	    回滚事务:rollback()* 			 在catch中回滚事务*/
public class jdbcDemo8 {public static void main(String[] args) {new jdbcDemo8().login();}public boolean login(){Connection conn = null;PreparedStatement statement1 = null;PreparedStatement statement2 = null;try {//连接数据库conn = Utils.JDBCUtils.getconnection();//开启事务conn.setAutoCommit(false);//定义SQL语句String sql1 = "update account set balance = balance + ? where name = ?";//获取sql1执行对象statement1 = conn.prepareStatement(sql1);//使用prepareStatement 子类的方法进行赋值statement1.setInt(1,500);statement1.setString(2,"zhangsan");//执行SQL语句statement1.execute();String sql2 = "update account set balance = balance - ? where name =?";//获取sql2的执行对象statement2 = conn.prepareStatement(sql2);statement2.setInt(1,500);statement2.setString(2,"lisi");statement2.execute();//提交事务conn.commit();} catch (SQLException throwables) {throwables.printStackTrace();try {conn.rollback();} catch (SQLException e) {e.printStackTrace();}}finally {Utils.JDBCUtils.close(statement2,null);Utils.JDBCUtils.close(statement1,conn);}return false;}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/421663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

邮件服务器方案参考

国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份…

halcon读取dxf坐标翻转_Halcon二维仿射变换实例探究

二维仿射变换,顾名思义就是在二维平面内,对对象进行平移、旋转、缩放等变换的行为(当然还有其他的变换,这里仅论述这三种最常见的)。Halcon中进行仿射变换的常见步骤如下:① 通过hom_mat2d_identity算子创建一个初始化矩阵(即[1.0…

记录一下,踩得奇奇怪怪的坑

1servlet虚拟路径访问不到(默认的可以访问) url后的路径设置时与项目的名称一致 url必须与这个一致 2.jdbc连接数据库,本地测试无问题,一用tomcat发包就出错,导致连接不上时,看看你得配置文件的位置是否有误 放到resources目录下…

归并排序算法(C#实现)

归并排序(Merge Sort)是利用"归并"技术来进行排序。归并是指将若干个已排序的子文件合并成一个有序的文件。归并排序有两种方式:1): 自底向上的方法 2):自顶向下的方法 1、 自底向上的方法(1) 自底向上的基本思想 自底向上的基…

m5310采用芯片 中移物联_芯链HPB引领硬件区块链加密芯片技术,有望在谷歌光芯之前突破...

伴随人工智能时代的开启,世界对于高性能计算机器的需求磅礴发展;以往的高性能计算芯片是基于CMOS数字电路的处理器,而伴随着电子元件的摩尔定律接近技术瓶颈,数字电路芯片的发展速度和发展基础都在缓慢进行;区块链技术…

计算机的硬件工作原理(图片部分资源摘自王道考研资料)

一、现代计算机的组成 此处主存和辅存可以理解为,内存和外存,内存的特点是读取速度快但是不利于保存大量数据,外存的特点 是读取速度慢,但是可以存储大量数据 计算机在开机时不会读取硬盘上的所有数据,开机时先读取的…

rstp协议和stp协议对比_3.TCP和UDP协议对比

TCP、UDP协议对比任务:掌握TCP协议、UDP协议的作用;TCP的三次握手和四次挥手;RST断开连接过程和作用。1.TCPTCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC …

XML文件读取工具类

/// <summary> /// Author: jiangxiaoqiang /// </summary> public class XmlReader {// //#region 获取XmlDocument对象/// <summary>/// 根据XML文件内容获取XmlDocument对象/// </summary>/// <param name"xmlFileContent"></pa…

下面为子代选择器结合符的是_郑州大学编译原理试卷及答案(往年试题整合)

二填空题1. 不同的编译程序关于数据空间的存储分配策略可能不同&#xff0c;但大部分编译中采用的方案有两种&#xff1a;静态存储分配方案和动态存储分配方案&#xff0c;而后者又分为(1)和(2)。 2. 规范规约是最(3)规约。3. 编译程序的工作过程一般划分为5个阶段&#xff1a;…

计算机组成原理-数据的表示和运算(图片资源摘自王道考研资料)

一、进位计数制 二、BCD码 此处&#xff1a; 58 0101 1000 1101 超出数据能表达的范围&#xff0c;因为 8421码只能表示0-9 十以上数据视为无效数据&#xff0c;因此在此基础上加六&#xff0c;进行校正--> 11010110 0001 0011 ----拆成两个看

lacp可以在access接口吗_现网必用的链路冗余技术,静态LACP链路捆绑,两分钟快速掌握...

一、链路聚合链路聚合(Link Aggregation)是将—组物理接口捆绑在一起作为一个逻辑接口来增加带宽的一种方法&#xff0c;又称为多接口负载均衡组(Load Sharing Group)或链路聚合组(Link Aggregation Group)1、配置手工负载分担模式链路聚合手工负载分担模式下&#xff0c;Eth-T…

ddl dml dcl

DCL数据控制语言 创建临时表空间 create temporary tablespace user_temp tempfile E:/oracle/product/10.1.0/oradata/orcl/user_temp.dbf size 50m autoextend on next 32m maxsize 2048m extent management local; 创建用户表空间 CREATE TABLESPACE tbs_sns_…

Spring 集成web环境

Spring 集成web环境 一、配置ContextLoaderListener 监听器 1.maven坐标 org.springframework spring-web 5.3.14 2.web.xml <context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</para…

一只青蛙跳向三个台阶_8. 跳台阶

一只青蛙一次可以跳上1级台阶&#xff0c;也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。1. 思路&#xff1a;若只有一级台阶&#xff1a;一种跳法两级台阶&#xff1a;两种跳法(11 / 2)三级台阶&#xff1a;三种跳法(111 / 12 / 21)四级台阶&#xff1a;五种跳法…

spring 框架(一)

目录 一、spring简介 二、spring入门 三、spring配置文件 3.1.bean标签的基本配置(applicationContext.xml) 3.2Bean&#xff08;scope:指对象的作用范围&#xff09;标签范围配置 3.3 Bean生命周期配置 3.4 Bean实例化三种方式 3.5 Bean的依赖注入入门 3.6 Bean的依赖…

wireshark过滤使用

过滤器的区别 捕捉过滤器&#xff08;CaptureFilters&#xff09;&#xff1a;用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。显示过滤器&#xff08;DisplayFilters&#xff09;&#xff1a;在捕捉结果中进行详细查找。他们可以在得到捕捉结果后随意修改。那…