数据库的事务技术:mysql的事务是什么?有什么作使用?如何实现?

作者 : 开心源码 本文共776个字,预计阅读时间需要2分钟 发布时间: 2022-05-11 共84人阅读

一件事情有n个组成单元,要不这n个组成单元同时成功,要不n个单元就同时失败,这n个单元组成一个事务

mysql的事务

默认的事务:一条sql语句就是一个事务默认就开启事务并提交事务

手动事务(sql语句操作):

1)显示的开启一个事务:start transaction2)事务提交:commit代表从开启事务到事务提交 中间的所有的sql都认为有效,真正的升级数据库3)事务的回滚:rollback 代表事务的回滚 从开启事务到事务回滚 中间的所有的sql操作都认为无效数据库没有被升级

JDBC事务操作

默认是自动事务:

执行sql语句:executeUpdate() 每执行一次executeUpdate方法代表事务自动提交

通过jdbc的API手动事务(jdbc的方式):

开启事务:conn.setAutoComnmit(false);提交事务:conn.commit();回滚事务:conn.rollback();

注意:执行sql的connection与开启事务的connnection必需是同一个才可以对事务进行控制

DBUtils事务操作

有参构造:QueryRunner runner = new QueryRunner(DataSource dataSource);

有参构造将数据源(连接池)作为参数传入QueryRunner,QueryRunner会从连接池中取得一个数据库连接资源操作数据库,所以直接用无Connection参数的update方法就可操作数据库,但是由于没有Connection,所以无法操作事务

无参构造:QueryRunner runner = new QueryRunner();

无参的构造没有将数据源(连接池)作为参数传入QueryRunner,那么我们在用QueryRunner对象操作数据库时要用有Connection参数的方法,这样我们即可以开启事务了

数据库的事务技术:mysql的事务是什么?有什么作使用?如何实现?

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 数据库的事务技术:mysql的事务是什么?有什么作使用?如何实现?

发表回复