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=
文章来源: chenhx.blog.csdn.net,作者:谙忆,版权归原作者所有,如需转载,请联系作者。
原文链接:chenhx.blog.csdn.net/article/details/110878804
- 点赞
- 收藏
- 关注作者
评论(0)