oracle和mysql数据库在插入数据时的区别

文章目录


最近在搞oracle数据库,搭了个项目,springboot+mybatis+oracle。发现插入数据时,感觉像陷入死循环了一样,不报错,表中却没有数据。想了半天,会不会是因为没有添加事务的原因造成的,然后我就在service里面的新增记录的方法上面加了个@Transactional,这次还真插入成功了。

可是,之前使用mysql数据库,我的service方法上面没有添加@Transactional注解也能正常插入数据呀!!!。

为此,我特地修改了原来项目的jdbc连接,连接到mysql。

后来,我发现新增、更新、删除数据,其实mysql、oracle都要提交事务的。为什么在使用mysql的项目中不用提交事务都行呢?

是因为mysql数据库开启了自动提交。可以使用以下命令查询你的mysql是否开启了自动提交。

show variables like '%autocommit%';

在这里插入图片描述

总结

mysql、oracle(或许其他关系型数据库也一样)新增、修改、删除数据的操作都需要提交事务。要注意你的mysql是否开启了自动提交事务。事务一定要提交或者回滚了,不然会修改不了同一个记录。

参考文献

Mybatis一定要使用commit才能成功修改数据库么?

发布了231 篇原创文章 · 获赞 93 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/wobushixiaobailian/article/details/99091274