1. 程式人生 > >關於Could not load driverClass ${jdbc.driverClassName}問題解決方案

關於Could not load driverClass ${jdbc.driverClassName}問題解決方案

ref 代碼 per 配置 pri 分析 jdbc 方法 裝配

在spring與mybatis3整合時一直遇到Could not load driverClass ${jdbc.driverClassName}報錯
如果將 ${jdbc.driverClassName} 改成具體的值就不會報錯!

解決方案一:

  <property name="sqlSessionFactory" ref="sqlSessionFactory"/>

改成

  <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>


記住ref要改成value

原因分析:是因為配置了class="org.mybatis.spring.mapper.MapperScannerConfigurer",而這句代碼會在數據源加載前就執行了,之後就把表達式${jdbc.driverClassName}當成字符串執行了。

解決方案二:

  <!-- 配制會話工廠 -->
  <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    //此處省略代碼。。。
  </bean>

將 id="sessionFactory" 改成 id="sqlSessionFactory"

然後將方案一中的 <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>註釋掉。

原因分析:當id="sqlSessionFactory"

時程序會在Ioc容器中自動裝配。單詞不能寫錯!!

<--有其它更多方法,請評論-->

關於Could not load driverClass ${jdbc.driverClassName}問題解決方案