2014-10-20 214 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