10.5 databaseIdProvider数据库厂商标识(MyBatis的XML配置文件) -《SSM深入解析与项目实战》

项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm

文章目录

10.8 databaseIdProvider数据库厂商标识

MyBatis可以根据不同的数据库厂商执行不同的语句,这种多厂商的支持是基于映射语句中的databaseId属性。MyBatis会加载不带databaseId 属性和带有匹配当前数据库 databaseId 属性的所有语句。如果同时找到带有databaseId和不带databaseId的相同语句,则后者会被舍弃。

简单的理解,通过配置databaseId,我们可以针对同一个Mapper方法写两个SQL语句。通过配置不同的databaseId,可以匹配到不同的databaseId。例如,在MySQL中获取系统时间的函数为NOW()函数,而Oracle中获取系统时间的函数为to_char(susdate,’yyyy-mm-dd hh24:mi:ss’),如果需要在SQL中用到系统时间的函数,那么针对不同的数据库,写法肯定是不同的。这个时刻,databaseIdProvider久派上用场了。

如果要支持多厂商特性只要像代码清单10-11这样在mybatis-config.xml文件中按照合适的顺序加入 databaseIdProvider标签即可。

代码清单10-11:添加databaseIdProvider标签

<databaseIdProvider type=
谙忆 CSDN认证博客专家 Java
公众号:程序编程之旅。曾经写过C、C++,使用过Cocos2dx开发过游戏、安卓端、IOS端、PC端页面均开发过。目前专注Java开发,SaaS内核、元数据的研究。偶尔玩玩爬虫
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值