Java 使用config.xml为mybatis和spring boot应用程序建立多个数据库连接

Java 使用config.xml为mybatis和spring boot应用程序建立多个数据库连接,java,xml,spring-boot,mybatis,mapper,Java,Xml,Spring Boot,Mybatis,Mapper,我需要连接到config.xml文件中配置的多个数据库 config.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration>

我需要连接到config.xml文件中配置的多个数据库

config.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">

    <configuration>

     <environments default="development">
        <environment id="development">
          <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.ibm.as400.access.AS400JDBCDriver"/>
                <property name="url" value="url"/>
                <property name="username" value="usernmae"/>
                <property name="password" value="password"/>
            </dataSource>
       </environment>
          <environment id="test">
          <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.ibm.as400.access.AS400JDBCDriver"/>
                <property name="url" value="url"/>
                <property name="username" value="usernmae"/>
                <property name="password" value="password"/>
            </dataSource>
       </environment>


     </environments> 

</configuration>
<mapper namespace="com.mapper.OrderMapper" >

 <resultMap id="result" type="com.mapper.Order">
    <result property="orderId"  jdbcType="NUMERIC" column="ORD_ORDER_ID"/>  
 </resultMap> 

  <select id="selectAll" resultMap="result">
    SELECT * FROM table
  </select>
</mapper>

通过使用属性文件中的spring数据源,我可以为单个数据库工作。我无法通过配置文件使其工作。我做错了什么?

spring不知道mybatis中配置的数据源。Spring需要访问数据源才能创建连接。在spring引导的简单情况下,这是通过使用spring上下文中配置的数据源来完成的


如果您想改变这一点,则需要您实现自己的类似于
数据源TransactionManager
但使用mybatis创建和管理的数据源。如果您使用spring boot(或者您甚至需要检查数据源是如何创建并注入到spring上下文中的),则可以通过访问mybatis
Configuration
对象来实现这一点。这相当复杂,您可能会违背其应有的方式(即在spring上下文中定义数据源)。

这可能有助于您使用config.xml进行数据源设置。请检查此选项
<mapper namespace="com.mapper.OrderMapper" >

 <resultMap id="result" type="com.mapper.Order">
    <result property="orderId"  jdbcType="NUMERIC" column="ORD_ORDER_ID"/>  
 </resultMap> 

  <select id="selectAll" resultMap="result">
    SELECT * FROM table
  </select>
</mapper>
mybatis.config-location = classpath:./config.xml
mybatis.mapper-locations=./mapper/*.xml