创建一个类来连接到任何数据库使用JDBC(Create a class to connect to

2019-07-29 18:22发布

我想设计一个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);

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

Answer 1:

只要创建一个单独的类,并委托他让连接到数据库:

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);


Answer 2:

您可以尝试的MySQL JDBC工具为MySQL连接API。

这个API提供了非常酷的功能,并满足您的要求!



Answer 3:

两种方式可以使

  1. 重写Spring的的determineCurrentLookupKey()方法AbstractRoutingDataSource类。

  2. 您可以创建一个类,它会返回基于系统的连接。



文章来源: Create a class to connect to any database using jdbc
标签: java jdbc