MyBatis配置项--配置环境(environments)--databaseIdProvider

Mybatis会加载不带databaseId属性和带有匹配当前数据库databaseId属性的所有语句。

如果同时找到带有databaseId和不带databaseId的相同语句,则后者会被舍弃。

为支持多厂商特性只要像下面这样在mybatis-config.xml文件中加入databaseIdProvider即可:


<databaseIdProvider type="DB_VENDOR" />

这里的DB_VENDOR会通过DatabaseMetaData#getDatabaseProductName()返回的字符串进行设置。

由于通常情况下这个字符串都非常长而且相同产品的不同版本会返回不同的值,所以最好通过设置属性别名来使其变短,如下:


<databaseIdProvider type="DB_VENDOR">

<property name="SQL Server" value="sqlserver"/>

<property name="DB2" value="db2"/>

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

</databaseIdProvider>

在提供了属性别名时,DB_VENDOR databaseIdProvider将被设置为第一个能匹配数据库产品名称的属性键对应的值,如果没有匹配的属性将会设置为“null”。

在这个例子中,如果getDatabaseProductName()返回“Oracle(DataDirect)”,databaseId将被设置为“oracle”。

可以通过实现接口org.apache.ibatis.mapping.DatabaseIdProvider并在mybatis-config.xml中注册来构建自己的DatabaseidProvider:


public interface DatabaseIdProvider {

void setProperties(Properties p);

String getDatabaseId(DataSource dataSource) throws SQLException;

}

原文地址:https://www.cnblogs.com/arrows/p/10341192.html

时间: 01-30

MyBatis配置项--配置环境(environments)--databaseIdProvider的相关文章

笔记:MyBatis XML配置详解

MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息.文档的顶层结构如下: configuration 配置 properties 属性 settings 设置 typeAliases 类型命名 typeHandlers 类型处理器 objectFactory 对象工厂 plugins 插件 environments 环境 environment 环境变量 transactionManager 事务管理器 dataSource

MyBatis 实践 --配置

MyBatis 实践 Configuration mybatis-configuration.xml是MyBatis的全局配置文件(文件名任意),其配置内容和顺序如下: properties : 属性(文件)加载/配置 settings : 全局配置参数 typeAliases : 定义类型别名 typeHandlers : 类型处理器 objectFactory : 对象工厂 plugins : 插件 environments : 环境集合属性对象 environment transactio

Mybatis基本配置(一)

1. Mybatis介绍 MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录. 2. 准备jar包 1)mybatis-3.3.0.jar, Mybatis包. 2)sqljdbc4.jar ,因为我们要用到SQLS

springmvc+spring+mybatis+mysql配置过程

环境:eclipse 项目目录: jar包: web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http:/

MyBatis简单配置及简单查询

1.把所需jar(mysql-connector-java-5.1.18-bin.jar和mybatis-3.3.0.jar)拷贝到lib目录下 2.编写与数据库对应的实体类UserInfo 3.创建mybatis-config.xml配置文件: <!--  配置数据库连接    -->   <environments default="developments">     <environment id="mysql">    

Java EE配置环境

下载.解压文件, 注意版本,apache-tomcat-8.5.9-windows-x64支持1.8版本的java 配置环境变量:右键计算机-高级系统设置-高级-环境变量-找到"Path",将我们解压的文件中bin文件夹的路径加入进去(为了在任何程序中都能找到startup) 配置环境变量时一定要小心!!!!!!千万不要配置错了或者不小心把前面的删掉,系统会崩溃!!! 配置三个HOME CATALINA_HOME:CATALINA的路径 JAVA_HOME:JDK的根 JRE_HOME

SSH配置环境都正常,但是每次执行到Action中的方法时就中断了,而且不报任何错误

SSH配置环境都正常,但是每次执行到Action中的方法时就不执行课,而且不报任何错误.Action中的方法封装的是业务层,业务层封装DAO层,检查了一天才发现错误在哪. 在applicationContext.xml中报了一个异常,如: Multiple annotations found at this line: - Exception 'com/dao/StudentDAO : Unsupported major.minor version 51.0' - Exception 'com/

androidSDK配置环境变量

android的开发人员来说,首先要做的就是环境变量的配置.java是需要配置环境变量的.当然,安卓的环境变量需要我们配置adb的使用,将开发平台的两个工具包配置到环境变量里. 工具/原料 android SDK 方法/步骤 在我的电脑右键[属性]打开,点击[高级系统设置]如图.转到第二步. 点击[环境变量].转第三步. 在系统变量里找到Path选中(图中蓝色那条),点击下面的[编辑].转第四步. 在变量值里加入androidSDK中platform-tools和tools的目录路径,这里我的是

【Hexo】(一)使用HEXO配置环境,创建Hello World

现场直播,呵呵,就是我完成一步,就记录一下: 一.配置环境 1.安装 Node 下载地址:Node.js 2.安装 Git(win环境下) 下载地址:Git Git 绑定 GitHub账户: ①打开Git Bash,然后输入两句命令 git config --global user.name "Your Name" git config --global user.email "[email protected]" 如图: ②配置SSH PS:可以先打开  C:\U

java环境安装、配置环境变量、java工具介绍

1.java的安装 1.在官网下载JDK安装包,链接如下: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.安装JDK,按照默认的方式安装JDK,只需一直点击下一步即可,此步省略 3.JDK安装成功之后,配置系统环境变量,通过右键点击计算机以此点击属性.高级系统设置.配置环境变量如下图所示: 4.点击环境变量之后会弹出一下窗口,点击新建 5.点击新建窗口之后分别输入JAVA