在开发连接数据库的java应用程序时,似乎我们有两个选择:
java.sql
类com.mysql.jdbc.Connection
,我们也有java.sql.Connection
)。 建议使用哪一个?说我目前正在使用mysql。但是将来我可能会转向oracle。使用特定于供应商的实施是否有任何性能奖励?
答案 0 :(得分:2)
永远不要使用特定于供应商的代码,始终使用标准API(JDBC),稍后它将易于维护,并且可以轻松跨数据库移植。供应商特定代码的性能优势可以忽略不计,您可以更好地利用优化的查询,索引,缓存等。
答案 1 :(得分:2)
在大多数情况下,您不会注意到性能差异。
java.sql包表示不同数据库之间最常见的分母,而特定于供应商的包还公开了一些数据库后端独有的功能。但是,当你要保留选项打开数据库后端的后转,你无论如何都应该避免这些,因为这有可能是新的数据库有没有相应的函数,你需要解决一个完全不同的方式的问题,这可能在最终需要对整个应用程序进行一些大规模的重构。
tl; dr:如果要保持选项打开以切换到Oracle或任何其他SQL数据库,请使用java.sql。
甚至更好:使用像Hibernate这样的对象关系映射框架为您做数据库抽象。他们需要一段时间才能习惯,但之后您将能够以更少的工时实现数据库功能,并且切换数据库后端将是配置文件中的单行更改。