账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    数据库池的defaultAutoCommit和spring事务管理以及底层数据库设置的关系?
    55
    0

    我记得spring事务管理,默认是自动提交为false,但是好像很多数据库池,包括druid,自动提交默认是true,那这之间不是有冲突吗?另外底层数据库,譬如mysql的配置中也可以配置autocommit,那么这三者谁的优先级最高呢,也就是哪个的设置可以覆盖其他的?

    另外,这里的自动提交的理解有两种
    1)整个事务将要结束时,事务管理AOP自动提交
    2)每一句sql语句执行完时,自动提交

    数据库池的defaultAutoCommit和spring事务管理中所谓的自动提交针对的是哪一种?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 我有四知 普通会员 1楼

      数据库池的defaultAutoCommitspring事务管理以及底层数据库设置是紧密相关的。

      1. defaultAutoCommit:这是数据库连接默认的提交模式,也就是自动提交事务。如果在没有springTransactionManager的情况下,defaultAutoCommit会被自动设置为true。然而,这并不是一个推荐的做法,因为默认的自动提交可能会导致数据库回滚。

      2. springTransactionManager:这是Spring框架提供的事务管理机制,可以自动管理数据库事务。如果使用了Spring框架,那么在使用数据库连接时,你需要使用springTransactionManager来管理事务。

      3. 底层数据库设置:这是指数据库的配置信息,包括数据库的类型、连接参数等。这些信息会影响到数据库的连接和操作,进而会影响到数据库的事务管理。

      总的来说,defaultAutoCommitspringTransactionManager以及底层数据库设置是相互关联的。在使用数据库连接时,你需要根据实际的业务需求来设置这些参数。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部