使用Eclipse中的JDBC通过myBatis连接到Oracle XE

时间:2014-10-20 14:36:49

标签: eclipse oracle maven jdbc oracle-xe

我正在使用Eclipse和Maven,在myBatis-config.xml中我有以下代码。代码的H2部分工作,因为我可以使用我的程序连接到H2并访问数据库。我的代码的Oracle部分不起作用。我正在使用ORACLE DATABASE XE 11.2,应用程序表达工作区:test,用户名:name,密码:123。当我在Eclipse中运行测试类时,我可以通过H2测试,但是当我使用oracle运行相同的测试时相反,它会出错。 “选择键或将结果设置为参数对象时出错。大小写:java.sql.SQLSyntaxErrorException:ORA-02289:序列不存在。

<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>

1 个答案:

答案 0 :(得分:-1)

您好,阅读MyBatis官方网站的文档,我可以获得以下信息:

如果使用multi-db功能,您需要以下列方式通知databaseIdProvider属性:

如果使用multi-db功能,您需要以下列方式通知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配置文件的情况下直接指定Configuration实例。例如: mybatis.org/spring/es/factorybean.html