我有一个问题可能已经被问了一百万次,但我现在需要确定这样的问题。 这是问题: 是否有某种方法可以使用一种类型的代码编写查询、更新、插入、删除、调用存储过程等的 Java 代码,而不管幕后可能存在哪个数据库? 例如,我编写代码将其放在系统上,它会自动检测数据库是 MS SQL Server 并且可以工作,那么在另一种情况下,数据库可能是 Oracle,但应用程序不需要任何代码更改,并且会自动检测和工作,依此类推......
如果这是不可能的,那么几乎达到这种抽象级别的最佳方法是什么......例如 有一个配置文件,并且仅在该文件中进行有关将使用哪个数据库驱动器的更改?
谢谢
最佳答案
我最近开始使用 QueryDSL:http://www.querydsl.com/
使用它来构造您的查询,您所需要做的就是在声明查询对象时提供正确的"template",并且它提供该特定数据库平台的映射。我还没有使用它来调用存储过程。
关于java - 是否可以用java编写数据库代码来处理所有数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20382519/