尝试编译下面的代码时,我得到了这个错误。我想知道我做错了什么。
未报告的异常java.sql.SQLException; 必须被捕获或声明为抛出 Class.forName(myDriver);
^
private void setupInfo() {
Driver driver = new org.gjt.mm.mysql.Driver();
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "123456";
String problemFeatureSpecTableName = "ProblemFeatureSpec";
String solutionFeatureSpectTableName = "SolutionFeatureSpec";
String classTableName = "Class";
String extraDataTableName = "ExtraData";
String casebaseTablename = "CaseBase";
String problemTableName = "Problem";
String solutionTableName = "Solution";
String inactiveContextsTableName = "InactiveContext";
String constantsTableName = "Constants";
dbInfo = new DBInfo(new JDBCDriverInfo(driverName, url, username, password),constantsTableName);
problemSpecInfo = new FeatureSpecRDBInfo(problemFeatureSpecTableName, classTableName, extraDataTableName);
solutionSpecInfo = new FeatureSpecRDBInfo(solutionFeatureSpectTableName, classTableName, extraDataTableName);
rdbCasebaseInfo = new RDBCaseBaseInfo(casebaseTablename, solutionTableName, problemTableName, inactiveContextsTableName);
}
com.mysql.jdbc.Driver
。但MM driver类名仅保留了向后兼容性,你应该真正使用com.mysql.jdbc.Driver
。另外,你的编译错误与发布的源代码不匹配。源代码中没有使用Class#forName()
任何地方。此外,它根本不会抛出SQLException
异常。 - BalusC