java - 是否可以用java编写数据库代码来处理所有数据库

标签 java sql

我有一个问题可能已经被问了一百万次,但我现在需要确定这样的问题。 这是问题: 是否有某种方法可以使用一种类型的代码编写查询、更新、插入、删除、调用存储过程等的 Java 代码,而不管幕后可能存在哪个数据库? 例如,我编写代码将其放在系统上,它会自动检测数据库是 MS SQL Server 并且可以工作,那么在另一种情况下,数据库可能是 Oracle,但应用程序不需要任何代码更改,并且会自动检测和工作,依此类推......

如果这是不可能的,那么几乎达到这种抽象级别的最佳方法是什么......例如 有一个配置文件,并且仅在该文件中进行有关将使用哪个数据库驱动器的更改?

谢谢

最佳答案

我最近开始使用 QueryDSL:http://www.querydsl.com/

使用它来构造您的查询,您所需要做的就是在声明查询对象时提供正确的"template",并且它提供该特定数据库平台的映射。我还没有使用它来调用存储过程。

关于java - 是否可以用java编写数据库代码来处理所有数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20382519/

相关文章:

sql - XPath 根据 SQL Server xml 中的属性 'A' 获取属性 'B' 的值

mysql - 如何更新实际上在其父级中具有唯一 id 重复项的外键字段?

sql - sql 2008中大表的高效分页

SQL:如何选择特殊字符之间的子字符串

java - 使用 swing 的桌面应用程序中的数据库

java - 从外部获取网站内容的最佳方式

java - 如何用Java从远程Unix系统获取 "tail -f"文件?

java - Spring Beans Mule - 接口(interface)/类类型的属性

java - 链表仅适用于第一个链表

sql - 如何动态化另一个表中的列别名