【发布时间】:2018-01-12 15:05:59
【问题描述】:
我正在尝试创建一个库来帮助访问数据库中的数据,并将在未来用于另一个应用程序。但是我想我在某个地方搞砸了,我无法将类数据库中定义的 Connection 导入到类特性中。它向我抛出的错误是
默认构造函数无法处理隐式构造函数抛出的异常类型异常。必须定义显式构造函数。
1)
public class database {
public static String databaseName;
public static String username;
public static String password;
public String tableName;
public String schema;
public String query;
ResultSet rs;
public static Connection dbconnection;
public database(String databaseName, String username, String password) throws Exception {
this.databaseName = databaseName;
this.username = username;
this.password = password;
}
public database() throws Exception{
databaseName = "database";
username = "admin";
password = "12345";
// TODO Auto-generated constructor stub
}
// Connect to selected Cache Database
public static Connection connect() throws Exception {
try {
// Default port is 1972
String url = "jdbc:Cache://127.0.0.1:1972/" + databaseName;
Class.forName("com.intersys.jdbc.CacheDriver").newInstance();
dbconnection = DriverManager.getConnection(url, username, password);
System.out.println("Connected to " + databaseName + " database.");
} catch (Exception e) {
e.printStackTrace();
}
return dbconnection;
}
}
2)
public class features {
database db = new database();
Connection conn = db.connect();
ResultSet rs;
Statement st = conn.createStatement();
}
任何帮助将不胜感激!
【问题讨论】:
-
将您的代码放入方法中。不是直接在课堂内。这不是有效的 Java。此外,学习并尊重 Java 命名约定,并停止抛出异常。抛出一个明确的、精确的异常子类型(或者,在你的情况下,根本没有异常,因为你的指令都没有抛出异常)。此外,从构造函数初始化静态字段根本没有意义。您还需要了解什么是静态字段,以及什么是实例字段。