mysql – 是由JOOQ生成的api依赖于DBMS吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql – 是由JOOQ生成的api依赖于DBMS吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1912字,纯文字阅读大概需要3分钟。
内容图文
![mysql – 是由JOOQ生成的api依赖于DBMS吗?](/upload/InfoBanner/zyjiaocheng/906/65c272131f504e5d8cb1b1d5b065096f.jpg)
我已从本地HSQLDB(DBMS)使用Jooq生成API.测试运行正常.
但是当我尝试使用像MySQL这样的另一个DBMS运行测试时,我会遇到异常.
此外,我已经看到MySQL生成的API属性是区分大小写,而HSQLDB则不是.
我的问题:是否有可能与Joooq本地开发HSQLDB并使用Oracle或MySQL运行实时系统?
解决方法:
可以将jOOQ与多个数据库一起使用.我在jOOQ User Group中认识的最“大胆”的用户使用jOOQ,至少有五个不同的(高效!)数据库系统(其中包括:Oracle,SQL Server,Sybase).
但请注意,jOOQ只会在一定程度上抽象您的数据库.只要您使用特定于供应商的功能,就可能会遇到问题. jOOQ不保证所有呈现的SQL都适用于所有数据库.它只会简化标准化任务.
由于您正在尝试将HSQLDB和Oracle结合使用,因此存在问题的功能(包括许多其他功能):
> Oracle对DATE数据类型的不同实现
> Oracle的分析功能
> Oracle的劣质VARCHAR / VARCHAR2数据类型
> Oracle扩展的FOR UPDATE语法
> Oracle的扩展MERGE语法
> Oracle强类型,命名数组类型 – 与HSQLDB的数组类型相反
> Oracle缺乏明确的INTEGER数据类型(特别是对于存储过程)
> Oracle对包和UDT的支持
> Oracle缺少空字符串支持(”和NULL是相同的)
> Oracle的分区外连接
> Oracle的PIVOT / UNPIVOT条款
当然,当jOOQ不明确支持某个功能时,也会出现不兼容问题.这些包括(以及其他许多):
>甲骨文的AQ
> Oracle的MODEL子句
此外,你自己负责
>在所有数据库中维护等效的元数据(如果有疑问,请使用区分大小写的表/列名称,即通过编写CREATE TABLE“MY_TABLE”…(Oracle,HSQLDB)或CREATE TABLE`MY_TABLE` …(MySQL)
>维护所有数据库中的等效数据类型和数据
另一方面,您可以安全地使用jOOQ和jOOQ的SQL抽象功能
>大部分功能
>大多数SQL子句,包括复杂的嵌套SQL
有关更多信息,请考虑org.jooq.Support Javadoc.此注释用于所有API元素,以记录jOOQ是否能够模拟相关方言中的基础SQL子句/函数.
除此之外,如果您唯一的问题是表名的区分大小写,请考虑告诉jOOQ不要通过jOOQ的设置引用名称:
http://www.jooq.org/doc/3.0/manual/sql-building/executor/custom-settings/
一个例子:
// This DSLContext will not render quoted table / column names:
Settings settings = new Settings().withRenderNameStyle(RenderNameStyle.AS_IS);
DSLContext create = DSL.using(connection, dialect, settings);
内容总结
以上是互联网集市为您收集整理的mysql – 是由JOOQ生成的api依赖于DBMS吗?全部内容,希望文章能够帮你解决mysql – 是由JOOQ生成的api依赖于DBMS吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。