在Eclipse中使用JDBC通过myBatis连接到Oracle XE
我将Eclipse与Maven一起使用,在myBatis-config.xml中,我有以下代码。代码的H2部分可以工作,因为我可以用我的程序连接到H2并访问数据库。我的代码中的Oracle部分不起作用。我使用的是ORACLE数据库XE 11.2,ApplicationExpress,工作区为:test,用户名为:name,密码为:123。当我在Eclipse中运行测试类时,我可以通过H2测试,但是当我使用oracle运行相同的测试时,它会得到一个错误。为参数对象选择键或设置结果时出错。案例:java.sql.SQLSyntaxErrorException:ORA-02289:序列不存在在Eclipse中使用JDBC通过myBatis连接到Oracle XE,eclipse,oracle,maven,jdbc,oracle-xe,Eclipse,Oracle,Maven,Jdbc,Oracle Xe,我将Eclipse与Maven一起使用,在myBatis-config.xml中,我有以下代码。代码的H2部分可以工作,因为我可以用我的程序连接到H2并访问数据库。我的代码中的Oracle部分不起作用。我使用的是ORACLE数据库XE 11.2,ApplicationExpress,工作区为:test,用户名为:name,密码为:123。当我在Eclipse中运行测试类时,我可以通过H2测试,但是当我使用oracle运行相同的测试时,它会得到一个错误。为参数对象选择键或设置结果时出错。案例:ja
<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>
您好,阅读MyBatis官方网站上的文档,我可以获得以下信息: 如果使用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>
如果使用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配置文件。例如:
如果用户名是name,不要将系统放入配置中。实际上,不要对系统执行任何操作。请使用name和123进行尝试,相同的错误。