java - 在Java中的静态方法中创建SQLite连接

标签 java sql sqlite

我想在 Java 中创建一个静态方法来抽象连接到 SQLite 数据库

这是我的 Connect 类代码:

public class Connect {

    public static Connection Connect(String connection, Boolean create) throws ClassNotFoundException, SQLException, FileNotFoundException {

        Connection conn = null;

        try {

            Class.forName("org.sqlite.JDBC");

            if(create == false){

                try {

                    FileInputStream f = new FileInputStream(connection);
                    conn = DriverManager.getConnection("jdbc:sqlite:"+connection);

                } catch(Exception NoDB) {
                    throw NoDB;
                }


            } else {

                conn = DriverManager.getConnection("jdbc:sqlite:"+connection);

            }

            return conn;

        } catch(Exception e){

            if(conn != null){

                conn.close();

            }

            throw e;

        }

    }
}

我希望能够像这样调用 Connect 类

Connection conn = Connect();

我正在使用 Intellij,IDE 不断建议此代码

(Connection) conn = new Connect();

我将方法设为静态并导入该类。我做错了什么如何让代码以这种方式工作。我从静态方法返回一个类型连接。

最佳答案

如果您要创建一个static方法来获取连接,那么您不应该创建实用程序类的实例(使用new 运算符)放在第一位。

静态方法是通过类名访问的,因此只需使用Connection conn = Connect.Connect(...)即可。请注意,根据 Java 风格约定,方法名称应以小写字母开头。

关于java - 在Java中的静态方法中创建SQLite连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38448467/

相关文章:

sql - 使用 SQL 查询进行轮盘赌选择

Java Server Faces - 导入图像

java - 在嵌入式 Tomcat 7 中部署 WAR

sql - MySQL 在 FUNCTION 中返回 GROUP_CONCAT

android - sqlite没有这样的表

c# - 进度条不适用于后台工作人员

java - 检测双击 TableView JavaFX 的单元格

java - 哪个地方写connection.close()和preparedstatement.close()

mysql - 在 MySQL 中查找特定日期的重复条目

mysql - Laravel:如何使用 Eloquent orm 接收多维结果集