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容器中自動裝配。單詞不能寫錯!!

相關文章
相關標籤/搜索