java mysql 回滚_Java 中对数据库操作时的 回滚

Connection conn=null;

conn.rollback()就可以回滚

//用jdbc连接数据库

//举例子,比如你在写一个级联删除的方法的时候,为了保证数据完整性,删除的时候一定要确定该删的都删了才行,否则就要回滚,下面是删除方法的例子:

public boolean delete(int sID) {//成功删除会返回true;

dbc = new DataBaseConnection();//根据你自己的方式创建数据库的连接

Connection con = dbc.getConnection();//得到Connection

try {

con.setAutoCommit(false);// 更改JDBC事务的默认提交方式,默认是true,是自动提交;

dbc.executeUpdate("delete from xiao where ID=" + sID);//删除

dbc.executeUpdate("delete from xiao_content where ID=" +

sID);//删除

dbc.executeUpdate("delete from xiao_affix where bylawid=" +

sID);//删除

con.commit();//提交JDBC事务,如果没问题,这时才真正的删除了;

con.setAutoCommit(true);// 恢复JDBC事务的默认提交方式,这是个好习惯;

dbc.close();//关闭连接

return true;//删除成功

}

catch (Exception exc) {

con.rollBack();//回滚JDBC事务,出现异常,为保证数据完整性,此次操作回滚,不删除;

exc.printStackTrace();//输出异常信息;

dbc.close();//关闭连接

return false;//删除失败

}

}

//顺便说一下,java中JDBC的事务管理,跟你用的是什么数据库没关系,用什么数据库都是这样;

//做添加操作

Connection con = null;

PreparedStatement ps = null;

ResultSet rs = null;

String tableName = args[0];

Integer id = JdbcUtil.parseInt(args[1]);

String name = args[2];

String command = args[3];

try{

con = JdbcUtil.getConnection();

con.setAutoCommit(false);

String sql = "insert into "+tableName+

" values(?,?)";

ps = con.prepareStatement(sql);

ps.setInt(1,id);

ps.setString(2,name);

ps.executeUpdate();

con.commit();//手动提交

}catch(Exception e){

System.out.println(e.getMessage());

try{

con.rollback();//手动回滚

}catch(Exception ex){

System.out.println(ex.getMessage());

}

}finally{

JdbcUtil.close(rs,ps,con);

}

//做修改操作

try {

conn =

DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;User=JavaDB;Password=javadb;DatabaseName=northwind);

//点禁止自动提交,设置回退

conn.setAutoCommit(false);

stmt = conn.createStatement();

//数据库更新操作1

stmt.executeUpdate(“update firsttable Set Name='testTransaction'

Where ID = 1”);

//数据库更新操作2

stmt.executeUpdate(“insert into firsttable ID = 12,Name =

'testTransaction2'”);

//事务提交

conn.commit();

}

catch(Exception ex) {

ex.printStackTrace();

try {

//操作不成功则回退

conn.rollback();

}

catch(Exception e){

e.printStackTrace();

}

}

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

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

相关文章

向文件中追加内容

#echo abcbedf>>a.txt 将abcdef追加到a.txt文件末尾 往文件中写入内容,比如原来的a.txt文件内容是aaaaa, #echo bbbbb>a.txt,这个是bbbbb把a.txt原来的内容替换 这里注意 >是覆盖,>>是追加。 如果为多行输入,需…

kali linux改中文_【亲测实验】kali linux 2020 设置为中文方法

kali 2020.1可用进入我们的正题,修改为中文的步骤1.更换更新源打开终端,输入下边命令打开更新源的文件vim /etc/apt/sources.list在文件结尾加入下边更新源#中科大deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contribdeb-src http:…

php取整函数ceil,floor,round,intval函数的区别

1、ceil — 进一法取整说明float ceil ( float $value )返回不小于 value 的下一个整数&#xff0c;value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float&#xff0c;因为 float 值的范围通常比 integer 要大。ceil() 例子 <?php echo ceil(4.3); // 5 echo ceil…

mysql的源码目录_Mysql DBA系统学习(2)了解mysql的源码目录及源文件

了解mysql的源码目录包括客户端代码&#xff0c;服务端代码&#xff0c;测试工具和其他库文件Bdb 伯克利DB表引擎BUILD 构建工程的脚本Client 客户端Cmd-line-utils 命令行工具Config 构建工程所需的一些文件Dbug Fred Fish的调试库Docs 文档文件夹Extra 一些相对独立的次要的工…

开始我的blog之旅

这是我第一次开始写blog的时刻&#xff0c;我也想好了怎么开始&#xff0c;鉴于我喜欢刨根问底的原则&#xff0c;我决定要翻开C语言&#xff0c;重新复习。同时以写blog的形式来印证。 写作路线嘛&#xff0c;就按照《C Primer Plus》第五版的章节套路来&#xff0c;中间在参杂…

ubuntu 破解mysql密码_Ubuntu下忘记MySQL root密码解决方法

Linux下忘记MySQL root密码解决方法忘了mysql密码&#xff0c;从网上找到的解决方案记录在这里。编辑mysql的配置文件/etc/mysql/my.cnf&#xff0c;在[mysqld]段下加入一行“skip-grant-tables”121201191255521.png重启mysql服务ubuntu:~$ sudo service mysql restartmysql s…

面向对象编程其实很简单——Python 面向对象(初级篇)

在Python教学中发现&#xff0c;很多同学在走到面向对象编程这块就开始蒙圈了&#xff0c;为了帮助大家更好的理解面向对象编程并其能将其用到自己的开发过程中&#xff0c;特写此文。 概述 面向过程&#xff1a;根据业务逻辑从上到下写垒代码 函数式&#xff1a;将某功能代码…

nginx mysql双机热备_MYSQL双机热备

mysql从3.23.15版本以后提供数据库复制功能。利用该功能可以实现两个数据库同步&#xff0c;主从模式&#xff0c;互相备份模式的功能&#xff0c;该功能可将一个数据库的工作量分摊于多个Mysql服务器之上&#xff0c;但考虑到种种因素&#xff0c;不要使用过多的同步服务器。最…

Code 0001: Wait rx completed

注意&#xff1a;以下Demo适用于不带DMA功能的串口。 Demo0001 /* 方法&#xff1a; wait_rx函数每1ms扫描串口是否有接受数据&#xff0c;如果长时间没有收到数据&#xff0c;则接受完成。 * 分析&#xff1a; 该方法存在的问题是扫描时间需要配合串口波特率进行设置&#xff…

windwos cakephp mysql apache_配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境

1. 安装配置apahce安装配置apache是比较简单的&#xff0c; 跟着安装向导一步步往下走就能搞定。最多就是在配置端口的地方需要注意一下&#xff0c;如果已经安装了其它web服务器占用了80端口&#xff0c;那记得配置的时候选一个别的端口。向导中忘了设置&#xff0c;在apache的…

python 单链表是否有回路_第5章 第1节 链表

● 请你说出几种基本的数据结构&#xff0c;参考回答&#xff1a;常见的基本的数据结构有链表、栈、队列、树(只列出面试常考的基本数据结构)1、链表是一种物理存储单元上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系…

linux下如何使用sftp命令【转】

linux下如何使用sftp命令 from&#xff1a; http://www.cnblogs.com/chen1987lei/archive/2010/11/26/1888391.htmlsftp 是一个交互式文件传输程式。它类似于 ftp, 但它进行加密传输&#xff0c;比FTP有更高的安全性。下边就简单介绍一下如何远程连接主机&#xff0c;进行文件…

netbean下搭建mariadb数据库

本人的操作系统Manjaro 最新版&#xff0c;mariadb版本为10.1.1&#xff0c;使用netbeasn开发java WEB&#xff0c;搭建过程如下&#xff1a; 1、安装数据库 pacman -S mariadb 2、启动数据库服务&#xff1a; systemctl start mariadb(启动) systemctl stop mariadb(关闭) 3、…

syslog打印不带等级_syslog之一:Linux syslog日志系统详解

目录&#xff1a;一、syslog简介syslog是一种工业标准的协议&#xff0c;可用来记录设备的日志。在UNIX系统&#xff0c;路由器、交换机等网络设备中&#xff0c;系统日志(System Log)记录系统中任何时间发生的大小事件。管理者可以通过查看系统记录&#xff0c;随时掌握系统状…

推进五通一平:手淘技术三大容器 五大方案首次整体亮相 百川开放升级

在云栖大会上&#xff0c;马云提出五个“新”&#xff0c;新零售、新制造、新金融、新技术和新能源&#xff0c;称将对各行各业造成巨大的影响&#xff0c;成为决定未来成败的关键。而五个新的实现&#xff0c;也必须是各行各业共同推进&#xff0c;整个生态共同受益的结果。继…

linux mysql管理软件_8款适合Linux用户使用的数据库管理工具!

从内容管理系统到简单的表格&#xff0c;数据库是每一个开发项目的一部分。这就是为什么开发者们如此强调使用正确类型的数据库工具。下面这些可能对您有所帮助&#xff01;Autotabla是一个你的程序的SQL数据表的CGI管理界面。只需要提供你数据库架构的XML描述&#xff0c;你就…

C#事件与接口

using System;namespace ConsoleApplication1d {delegate void MsgDel(string s);interface IMsg{event MsgDel msgd;void Excute(string s);}class MInfo : IMsg//必须实现接口的全部成员&#xff0c;如事件&#xff0c;函数{//不写这句会提示 Minfo does not implement inter…

jq 下拉加载每次只执行一次_记一次 无限列表 滚动优化

背景长列表优化&#xff0c; 是页面性能优化中的一个比较常见的问题&#xff0c;也是面试中的常客。刚好最近在的项目中&#xff0c; 遇到了一个长列表的性能问题&#xff0c;试过多种方案&#xff0c; 最后得以解决。今天就给大家分享一下。正文场景描述用户需要批量修改 Prod…

2016-5-31 问题及解决

1.执行linux版本时&#xff0c;碰到官方默认发布的cef3二进制包&#xff0c;不支持在动态库中初始化cef3现象&#xff1a;启动时报一下错误->FATAL:content_main_runner.cc(662)] Check failed: base::allocator::IsAllocatorInitialized()原因&#xff1a;在共享库中初始化…

mysql fio测试_Linux下 fio磁盘压测笔记

专业的测试磁盘IO性能的软件&#xff1a;1、fio 【推荐使用】2、iometerfio的使用&#xff1a;参考博客&#xff1a; http://lilinji.blog.51cto.com/5441000/1569623https://linux.die.net/man/1/fiohttp://elf8848.iteye.com/blog/2168876 【讲的比较好】注意&#xff0c;我…