2014-10-20 143 views
0

我在Eclipse中使用Maven,在myBatis-config.xml中我有以下代碼。代碼的H2部分起作用,因爲我可以使用我的程序連接到H2並訪問數據庫。我的代碼的Oracle部分不起作用。我使用ORACLE DATABASE XE 11.2,應用程序用工作空間表示:測試,用戶名:name,密碼:123.當我在Eclipse中運行測試類時,我可以通過H2測試,但是當我使用oracle運行相同的測試相反,它會得到一個錯誤。 「錯誤選擇鍵或設置結果參數對象案例:java.sql.SQLSyntaxErrorException:ORA-02289:序列不存在在Eclipse中使用JDBC連接到Oracle XE與myBatis使用JDBC

<environment id="H2"> 
    <transactionManager type="JDBC" /> 
    <dataSource type="POOLED"> 
     <property name="driver" value="org.h2.Driver" /> 
     <property name="url" value="jdbc:h2:tcp://localhost:9096/sample/testDB" /> 
     <property name="username" value="sa" /> 
     <property name="password" value="123" /> 
    </dataSource> 
</environment> 

<environment id="ORACLE"> 
    <transactionManager type="JDBC" /> 
    <dataSource type="POOLED"> 
     <property name="driver" value="oracle.jdbc.OracleDriver" /> 
     <property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" /> 
     <property name="username" value="system" /> 
     <property name="password" value="123" /> 
    </dataSource> 
</environment> 
+0

如果您的用戶名是「name」,請勿將「system」放入配置中。 (實際上,不要對系統做任何事情。) – Mat 2014-10-20 14:40:52

+0

嘗試使用名稱和123,同樣的錯誤。 – 2014-10-20 14:45:42

回答

-1

你好閱讀從MyBatis的官方網站,我可以得到如下的文件信息:

在使用多分貝功能的情況下,你將需要告知databaseIdProvider屬性以下列方式:

在使用多分貝功能的情況下,你將需要告知databaseIdProvider財產採用以下方式:

<bean id="vendorProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> 
    <property name="properties"> 
     <props> 
      <prop key="SQL Server">sqlserver</prop> 
      <prop key="DB2">db2</prop> 
      <prop key="Oracle">oracle</prop> 
      <prop key="MySQL">mysql</prop> 
     </props> 
    </property> 
</bean> 

<bean id="databaseIdProvider" class="org.apache.ibatis.mapping.VendorDatabaseIdProvider"> 
    <property name="properties" ref="vendorProperties"/> 
</bean> 

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="mapperLocations" value="classpath*:sample/config/mappers/**/*.xml" /> 
    <property name="databaseIdProvider" ref="databaseIdProvider"/> 
</bean> 

希望它有幫助。

問候。


注意從1.3.0開始,添加了配置屬性。可以直接指定配置實例,而不使用MyBatis XML配置文件。例如: mybatis.org/spring/es/factorybean.html