在 Java 中将您的数据库函数放在专用的 class/methods 中是一种很好的形式吗?

Is it good form in Java to place your DB functions in dedicated class/methods?

在编写一个相对简单的应用程序时,我正在考虑制作一个 class 来处理所有数据库交互。我打算在 class 中构建所有准备好的语句。这样,任何数据库更改(可能)只会导致对该数据库的更改 class。 (此外,它将数据库用户 ID 和密码放在一个 class 中。) 例如,我计划编写一个 class,其中包含一个方法来注册 DB 驱动程序,另一个用于建立连接,另一个用于读取,另一个用于写入,还有一个用于更新。
除了易于维护代码之外,这还有其他好处吗?也许在多线程上下文中? 此外,我计划将变量作为参数传递给查询方法以绑定到准备好的语句。我也打算 return 结果集作为参数。 我是不是想多了? TIA.

这听起来 "by definition" 是数据库的封装,然后是 adapter/bridge/facade-'design pattern' 变体(取决于您的具体实施)

所以不,我不认为你是 over-thinking 这个。

我会说像 hibernate 这样使用 ORM 是更好的选择。它将减少大量样板代码。加上更容易 read-write 或编写迁移(添加新字段或表)。 我在我的大学项目中使用了类似的方法,纯粹是 java。我创建了一个具有所有功能的单例 class 数据库。单例 class 仅确保数据库方法的副本。

您可以使用 DBUtil,它是封装数据库访问和操作的库(与您尝试做的相同)。

您不应在 class 中对凭据进行硬编码,因为 de-compiling 您的 class 可以访问它。参见 here