gpt4 book ai didi

java - 创建一个类以使用 jdbc 连接到任何数据库

转载 作者:行者123 更新时间:2023-12-04 22:46:37 24 4
gpt4 key购买 nike

我正在尝试设计一个 Java swing 应用程序。我想试验并使用一种 MVC 类型的架构,其中我的 UI 与实际逻辑分离以访问数据并连接到数据库。我决定我需要创建一个自定义类,其中包含连接到数据库的所有逻辑,然后在我的操作事件中为任何特定的表单和按钮简单地调用该类的方法。这样我可以切换数据库,我需要做的(如果我有一个包含许多表单的大型代码库)就是更改 JDBC 连接字符串以连接到 oracle 而不是 MySQL。到目前为止,我有连接到数据库的代码,但我正试图弄清楚如何使这个类成为一个类。

try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con=(Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/prototypeeop","root","triala");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);

然后,我将从连接类的成员函数返回结果集,以进行处理并显示在屏幕上。

最佳答案

只需创建一个单独的类并委托(delegate)给他获取与数据库的连接:

public class ConnectionManager {
private static String url = "jdbc:mysql://localhost:3306/prototypeeop";
private static String driverName = "com.mysql.jdbc.Driver";
private static String username = "root";
private static String password = "triala";
private static Connection con;
private static String urlstring;

public static Connection getConnection() {
try {
Class.forName(driverName);
try {
con = DriverManager.getConnection(urlstring, username, password);
} catch (SQLException ex) {
// log an exception. fro example:
System.out.println("Failed to create the database connection.");
}
} catch (ClassNotFoundException ex) {
// log an exception. for example:
System.out.println("Driver not found.");
}
return con;
}
}

然后在代码中获取连接,如下所示:
private Connection con = null;
private Statement stmt = null;
private ResultSet rs = null;

con = ConnectionManager.getConnection();
stmt = con.createStatement();
rs = stmt.executeQuery(sql);

关于java - 创建一个类以使用 jdbc 连接到任何数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10915375/

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