java关于连接Mysql的问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 11:43:26
我建个小项目,连接数据库写了个单例,为什么只能实现一次,然后就会报:com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: No operations allowed after connection closed.
的异常呢???这个类如下:::

private DBManager() {
}
private static Connection conn = null;

public static Connection getConnection() {
if (conn == null) {
System.out.println("1");
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/qz"

, "root", "dalong");

} catch (Exception se) {
System.out.println("连接失败");
}
}
return conn;
}

请大家帮帮忙
朋友,你看错了把,如果conn==null,是下面的那些,,,
1楼的朋友,那么我改怎么写呢???我就是想写成静态的,dao里不用实例化这个类了

private static Connection conn = null;
conn是静态的,用完后关闭连接。

当第二次调用getConnection() 方法时。
conn不为空,所以直接返回一个关闭状态的连接。
不能进行操作。

建议不要这样写,这样线程是不安全的。

你那个错误是,你建立的SQL是空值,所以你只能连一次。我没看懂你说的什么意思。但你写的东西有点错误!
你这个是连接数据库单例子吧!
首先:
if (conn == null) {
System.out.println("1");
你在外部变量本来就定义Connection为空,大哥你还写句if (conn == null) {
System.out.println("1"); 他肯定为null了。当他程序执行到这句,他因该是不往下执行了!

你后面我看你写的对的了!
你最好把你别的类连接的例子也发来,才还看懂些!!