mybatis使用databaseIdProvider多数据库支持

 时间:2026-02-13 14:31:14

1、mybatis使用databaseIdProvider可以根据不同的数据库执行不同的sql语句。

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

        <properties resource="dbconfig.properties">

                

        </properties>

        

  <settings>

        <setting name="mapUnderscoreToCamelCase" value="true"/>

  </settings>

  

  <typeAliases>

        <package name="com.gwolf.bean"/>

  </typeAliases>

  <environments default="mysql">

    <environment id="mysql">

      <transactionManager type="JDBC"/>

      

      <dataSource type="POOLED">

        <property name="driver" value="${jdbc.driverClass}"/>

        <property name="url" value="${jdbc.jdbcUrl}"/>

        <property name="username" value="${jdbc.user}"/>

        <property name="password" value="${jdbc.password}"/>

      </dataSource>

      

    </environment>

    

    <environment id="oracle">

      <transactionManager type="JDBC"/>

      

      <dataSource type="POOLED">

        <property name="driver" value="${oracle.jdbc.driverClass}"/>

        <property name="url" value="${oracle.jdbc.jdbcUrl}"/>

        <property name="username" value="${oracle.jdbc.user}"/>

        <property name="password" value="${oracle.jdbc.password}"/>

      </dataSource>

      

    </environment>

  </environments>

  

  <databaseIdProvider type="DB_VENDOR">

        <property name="MySQL" value="mysql"/>

        <property name="Oracle" value="oracle"/>

  </databaseIdProvider>

  

  <mappers>

    <mapper resource="EmployeeMapper.xml"/>

  </mappers>

  

</configuration>

mybatis使用databaseIdProvider多数据库支持

2、定义数据库别名DB_VENDOR。它的作用就是得到数据库厂商的标识,这个标识由数据库驱动自带的。mybatis就能根据数据库厂商标识来执行不同的sql。

<databaseIdProvider type="DB_VENDOR">

 

  </databaseIdProvider>

mybatis使用databaseIdProvider多数据库支持

3、为不同的数据库厂商起别名。

 <databaseIdProvider type="DB_VENDOR">

        <property name="MySQL" value="mysql"/>

        <property name="Oracle" value="oracle"/>

  </databaseIdProvider>

mybatis使用databaseIdProvider多数据库支持

4、在mapper.xml文件中可以通过标签databaseId定义使用的数据库。

<select id="getEmpById" resultType="employee" databaseId="mysql">

    select *

          from tbl_emp where emp_id = #{empId}

  </select>

mybatis使用databaseIdProvider多数据库支持

5、在mybatis-config.xml中配置两个数据库环境:

<environments default="mysql">

    <environment id="mysql">

      <transactionManager type="JDBC"/>

      

      <dataSource type="POOLED">

        <property name="driver" value="${jdbc.driverClass}"/>

        <property name="url" value="${jdbc.jdbcUrl}"/>

        <property name="username" value="${jdbc.user}"/>

        <property name="password" value="${jdbc.password}"/>

      </dataSource>

      

    </environment>

    

    <environment id="oracle">

      <transactionManager type="JDBC"/>

      

      <dataSource type="POOLED">

        <property name="driver" value="${oracle.jdbc.driverClass}"/>

        <property name="url" value="${oracle.jdbc.jdbcUrl}"/>

        <property name="username" value="${oracle.jdbc.user}"/>

        <property name="password" value="${oracle.jdbc.password}"/>

      </dataSource>

      

    </environment>

  </environments>

mybatis使用databaseIdProvider多数据库支持

6、我们通过标签environments default="mysql"来定义默认使用的数据库是哪一个。

mybatis使用databaseIdProvider多数据库支持

  • 怎样使用VBA选择粗线边框之单元格?
  • Excel2007vbaExcel相关属性设置
  • 【excel】中的RANDBETWEEN函数如何使用?
  • 偏移单元格求和有方法
  • excel中使用vba给单元格添加批注
  • 热门搜索
    海南国际旅游岛建设发展规划纲要 旅游鞋清洗 山东省旅游景点 草海旅游 泰国旅游必备物品清单 旅游报 盐城旅游团 南京旅游职业学院官网 韶关丹霞山旅游攻略 山东省旅游景点大全