spring+mybatis 报Could not load driverClass ${jdbc.driverClass}

在spring与mybatis3整合时一直遇到Could not load driverClass ${jdbc.driverClassName}报错
若是将 ${jdbc.driverClassName} 改为具体的值就不会报错!spring

解决方案一:sql

session

  <property name="sqlSessionFactoryref="sqlSessionFactory"/>mybatis

改为app

  <property name="sqlSessionFactoryBeanNamevalue="sqlSessionFactory"/>字符串


记住ref要改为value io

缘由分析:是由于配置了class="org.mybatis.spring.mapper.MapperScannerConfigurer",而这句代码会在数据源加载前就执行了,以后就把表达式${jdbc.driverClassName}当成字符串执行了。class

 

解决方案二:容器

  <!-- 配制会话工厂 -->
  <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    //此处省略代码。。。
  </bean>配置

将 id="sessionFactory" 改为 id="sqlSessionFactory"

而后将方案一中的 <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>注释掉。

缘由分析:当id="sqlSessionFactory"时程序会在Ioc容器中自动装配。单词不能写错!!

相关文章
相关标签/搜索