Oracle、DB2、MySQL每种数据库都有几个不同的方言,在什么情况下使用哪种方言呢? 十万火急+++++++

Oracle、DB2、MySQL每种数据库都有几个不同的方言,在什么情况下使用哪种方言呢? 十万火急+++++++,第1张

1) 先能知道是不是mysql

select row_number() over() from tab--->oracle/db2都可以返回结果的,mysql不可以

2) oracle/db2

run sql: select * from sysibm/sysdummy1---〉结果返回,必定为db2,否则为oracle

数据库方言自动选择这个很难确定,只有碰到特定的方法的时候才能知道用那个方言下的方法,必须具体问题才能具体分析。

hibernate中,方言是解决hql翻译成sql保证语法的正确,首先数据库都是支持sql的,不同的数据库会存在一些语法上面的差异。

HQL则是基于对象的查询语言,当系统需要数据库的变换时,那么用hibernate的话就只需要改一改配置文件(修改连接字符串、驱动类、方言等),而用传统的jdbc时,那么sql语言可能就要有很多改动。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6812749.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存