Mybatis如何使用databaseIdProvider
<!-- 配置环境变量 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@10.9.220.131:1521:test"/>
<property name="username" value="123" />
<property name="password" value="123" />
</dataSource>
</environment>
</environments>
[color=#800000]<!-- 数据库配置 -->
<databaseIdProvider type="DB_VENDOR">
<property name="DB2" value="db2"/>
<property name="Oracle" value="oracle" />
<property name="Adaptive Server Enterprise" value="sybase"/>
<property name="MySQL" value="mysql" />
</databaseIdProvider>[/color]
在mybatis的配置文件中,只要加入红色的部分,就会报错。
请问:
1. databaseIdProvider 应该怎么使用呢?
2. 使用databaseIdProvider可以实现在不同类型的数据库切换,但是如果在同一类型的不同数据库查询(比如有两个oracle的数据库),应该怎么查询呢?mybatis支持吗?
谢谢。
Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException: Element type "databaseIdProvider" must be declared.
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:8)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:60)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:44)
at com.zxc.mybatis.App.main(App.java:25)
Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException: Element type "databaseIdProvider" must be declared.
at org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:238)
at org.apache.ibatis.parsing.XPathParser.<init>(XPathParser.java:107)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.<init>(XMLConfigBuilder.java:52)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:57)
... 2 more
Caused by: org.xml.sax.SAXParseException: Element type "databaseIdProvider" must be declared.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:236)
... 5 more
...全文
相关推荐
详解Spring boot上配置与使用mybatis plus
= null) { mybatisPlus.setDatabaseIdProvider(this.databaseIdProvider); } return mybatisPlus; }}```使用 MyBatis
springboot集成mybatis-plus遇到的问题及解决方法
通过正确配置和解决这些问题,可以顺利地使用 MyBatis-Plus 在 Spring Boot 项目中。
基于MyBatis XML配置方法(全面了解)
databaseIdProvider元素是MyBatis中用于配置数据库厂商标识的元素,它可以将数据库厂商标识配置到MyBatis中。
MyBatis3.4参考文档中文版.pdf
MyBatis 的 XML 配置文件可以将映射器、environments、databaseIdProvider、mappers 等配置信息集中在一起,提高配置的效率。
MyBatis Map结果的Key转为驼峰式
然而,在使用MyBatis时,我们经常会遇到一个问题,那就是Map结果的Key转为驼峰式的问题。今天,我们将讨论如何使用MyBatis来解决这个问题。首先,让我们了解一下MyBatis的配置文件。


Web 开发
