Java 连接对象返回空值
我试图创建一个类,允许我通过JDBC连接到mySQL数据库,但连接返回的对象为空。我认为错误在于我没有在异常中使用错误信息消息,而是返回空值 删除Java 连接对象返回空值,java,mysql,eclipse,jdbc,connection,Java,Mysql,Eclipse,Jdbc,Connection,我试图创建一个类,允许我通过JDBC连接到mySQL数据库,但连接返回的对象为空。我认为错误在于我没有在异常中使用错误信息消息,而是返回空值 删除返回null语句导致错误:此方法必须返回连接类型的结果 return conn; } catch (Exception e) { // return null; e.printStackTrace(); } } 同时添加返回null和e.printStackTrace()导致无法访问的代码错误 return conn
返回null代码>语句导致错误:此方法必须返回连接类型的结果
return conn;
} catch (Exception e) {
// return null;
e.printStackTrace();
}
}
同时添加返回null代码>和e.printStackTrace()代码>导致无法访问的代码错误
return conn;
} catch (Exception e) {
return null;
e.printStackTrace();
}
我的代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ServerConn
{
public Connection OpenDatabase() {
try {
Class.forName( "com.mysql.jdbc.Driver" ) ;
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/promitheas?user=me&password=iwontsay") ;
return conn;
} catch (Exception e) {
return null;
}
}
public ResultSet dbQuery(String sql)
{
Connection cn = OpenDatabase();
if (!(cn == null)){
try {
Statement stmt = cn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
return rs;
} catch (Exception e) {
return null;}
}
return null;
}
public ServerConn(){}
}
那是非法的。并导致无法访问的代码错误
,因为您在返回后编写代码
return conn;
} catch (Exception e) {
e.printStackTrace();
return null;
}
除此之外,从捕集区回来闻起来像是一个设计问题。重新考虑一下。使用一个返回语句更好(更容易理解)
public Connection OpenDatabase() {
Connection conn =null;
try {
Class.forName( "com.mysql.jdbc.Driver" ) ;
conn = DriverManager.getConnection("jdbc:mysql://localhost/promitheas?user=me&password=iwontsay") ;
} catch (Exception e) {
e.printStackTrace();
}
return conn;//returns null in case of exception.
}
在catch块中返回null会导致什么设计问题?
public Connection OpenDatabase() {
Connection conn =null;
try {
Class.forName( "com.mysql.jdbc.Driver" ) ;
conn = DriverManager.getConnection("jdbc:mysql://localhost/promitheas?user=me&password=iwontsay") ;
} catch (Exception e) {
e.printStackTrace();
}
return conn;//returns null in case of exception.
}