gpt4 book ai didi

java - 如何实现JDBC驱动与源代码之间的松耦合?

转载 作者:行者123 更新时间:2023-12-01 07:36:35 25 4
gpt4 key购买 nike

我不想让我的代码与某些 JDBC 驱动程序(例如 MySql)紧密耦合。我想制作通用代码,可以与许多数据库实现一起使用。而且我不太明白使用 JDBC 时如何实现这个目标。

我认为要实现此目的,我只需要将驱动程序类名称(和连接字符串)导出到 .properties 文件(例如 "com.mysql.jdbc.Driver"),然后在代码中像这样使用它 Class.forName(PROPERTIES.getDriverName()).newInstance(); 因此,当我决定更改数据库时,我需要更改的只是 jdbc .properties 文件中的驱动程序名称(例如 "COM.ibm.db2.jdbc.app.DB2Driver" )、连接字符串,并更改驱动程序的 .jar 类路径中的文件。

对吗?

最佳答案

可以通过多种方式实现松耦合 -

A. 使用 Hibernate ,但这可能对您的需求来说太过分了,并且会损害性能(如果您的应用程序主要执行写操作)

B. 使用 Spring-JDBC 或任何其他充当 JDBC 包装器的框架 - 通常它们提供某种抽象

C. 如果你的代码是Java EE代码,你可以使用DataSources,并在你的Java应用服务器上配置它们 - 你将通过名称查找数据源,并且你不会知道背后的实现细节

D. 您可以确保分层构建应用程序 - 业务逻辑层,使用数据访问层,数据访问层使用某些数据引擎(确保您的数据引擎类实现一个接口(interface),以便您可以轻松更改实现)。< br/>
您的数据引擎类可以从配置(XML 文件的属性)中读取有关 jdbc 驱动程序的信息 - 例如,这基本上就是 Hibernate 所做的事情。

关于java - 如何实现JDBC驱动与源代码之间的松耦合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11171392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com