开发者社区> 问答> 正文

spring无法管理druid数据库连接

项目使用mybatis进行动态数据库查询,架构为spring+mybatis+oracle,现迁移到RDS for PPAS数据库,更改配置配置如下:

重新编译后启动,发现存在大量如下日志:

21:18:09.010 [scheduler_Worker-9] DEBUG org.mybatis.spring.SqlSessionUtils - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6ce43d7d] 21:18:09.010 [scheduler_Worker-9] DEBUG o.s.jdbc.datasource.DataSourceUtils - Returning JDBC Connection to DataSource 21:18:09.010 [scheduler_Worker-9] DEBUG org.mybatis.spring.SqlSessionUtils - Creating a new SqlSession 21:18:09.010 [scheduler_Worker-9] DEBUG org.mybatis.spring.SqlSessionUtils - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7c811164] was not registered for synchronization because synchronization is not active 21:18:09.010 [scheduler_Worker-9] DEBUG o.s.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource 21:18:09.010 [scheduler_Worker-9] DEBUG o.m.s.t.SpringManagedTransaction - JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@186f74f3] will not be managed by Spring 21:18:09.010 [scheduler_Worker-9] DEBUG d.p.m.C.loadByDetailId - ==> Preparing: select manythings from co_bid_attachment where DETAIL_ID = ? 21:18:09.010 [scheduler_Worker-9] DEBUG d.p.m.C.loadByDetailId - ==> Parameters: A8D9A80F-E0FC-F499-B38B-24E3C6E470DE(String) 21:18:09.068 [scheduler_Worker-9] DEBUG d.p.m.C.loadByDetailId - <== Total: 0

请问应该要如何修复其中出现的“同步未激活”及“jdbc连接无法spring管理”的错误?

原提问者GitHub用户huangjj27

展开
收起
山海行 2023-07-05 21:25:42 493 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    如果您在使用Spring时遇到无法管理Druid数据库连接的问题,可能是因为Spring未正确配置Druid数据源。以下是一些可能的解决方法:

    1.检查Druid数据源配置
    请检查您的Druid数据源配置是否正确。特别注意以下几个配置项:

    url:数据库连接字符串。
    username:数据库用户名。
    password:数据库密码。
    driver-class-name:数据库驱动类名。
    initialSize:初始化连接池大小。
    maxActive:最大连接池大小。
    maxWait:等待连接超时时间。
    validationQuery:连接验证语句。
    如果这些配置项不正确,可能会导致Druid数据源无法正确初始化连接池,从而无法管理数据库连接。
    2.配置Spring数据源
    请在Spring配置文件中配置Druid数据源,例如:

    xml
    Copy











    请注意将"dataSource"替换为您的数据源名称,以及将"jdbc:mysql://localhost:3306/test"、"root"和"password"替换为您的数据库连接信息。

    3.配置Spring事务管理器
    请在Spring配置文件中配置Druid数据源的事务管理器,例如:

    xml
    Copy




    请注意将"transactionManager"替换为您的事务管理器名称,以及将"dataSource"替换为您的数据源名称。

    4.根据需求添加其他配置
    根据您的具体需求,您还可以在Spring配置文件中添加其他配置,例如数据源拦截器、过滤器、监听器、连接池监控等。

    2023-07-30 09:36:54
    赞同 展开评论 打赏
  • 最后发现配置mapper所在路径即可,即在application-context.xml里的sqlSesstionFactory修改如下:

    原回答者GitHub用户huangjj27

    2023-07-06 12:14:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载