博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring+mybatis时会出现Cannot load JDBC driver class ${jdbc.driverClassName}'
阅读量:6804 次
发布时间:2019-06-26

本文共 684 字,大约阅读时间需要 2 分钟。

  hot3.png

使用spring+mybatis时会出现Cannot load JDBC driver class ${jdbc.driverClassName}之类的出错。

原因是在spring里使用org.mybatis.spring.mapper.MapperScannerConfigurer 进行自动扫描的时候,设置了sqlSessionFactory 的话,可能会导致PropertyPlaceholderConfigurer失效,也就是用${jdbc.username}这样之类的表达式,将无法获取到properties文件里的内容。 导致这一原因是因为,MapperScannerConigurer实际是在解析加载bean定义阶段的,这个时候要是设置sqlSessionFactory的话,会导致提前初始化一些类,这个时候,PropertyPlaceholderConfigurer还没来得及替换定义中的变量,导致把表达式当作字符串复制了。 但如果不设置sqlSessionFactory 属性的话,就必须要保证sessionFactory在spring中名称一定要是sqlSessionFactory ,否则就无法自动注入。又或者直接定义 MapperFactoryBean ,再或者放弃自动代理接口方式。 
解决方案:将

ps:在项目过程中还遇到mybatis返回的map值中出现重复值的现象,解决方案是换了高版本的mybatis jar包就可以了。

 

转载于:https://my.oschina.net/yehun/blog/871080

你可能感兴趣的文章
Spring JDBC Framework详解——批量JDBC操作、ORM映射
查看>>
Codeforces 894 A B 组合数学 比赛
查看>>
C#后台调用前台javascript的五种方法小结
查看>>
GDB 多线程调试基本命令
查看>>
C++中的友元
查看>>
MySql常用函数
查看>>
移动端 触屏滑动条菜单(完善版 转)
查看>>
可变参数函数的实现
查看>>
ABP官方文档翻译 4.4 授权
查看>>
小程序-提交信息(姓名,电话)
查看>>
Object.defineProperties——MEAN开发后台的Model层
查看>>
Python 学习笔记11 函数模块
查看>>
从C#垃圾回收(GC)机制中挖掘性能优化方案
查看>>
qt cef嵌入web(二)
查看>>
qt捕获全局windows消息
查看>>
Qt之自定义QLineEdit右键菜单
查看>>
项目Alpha冲刺(团队6/10)
查看>>
springboot2.0+dubbo整合分布式服务发布和调用
查看>>
Debian系统常用配置
查看>>
风景最美的地方
查看>>