Justicer_P
2015-01-15 11:38
即,把static{...}这部分注释掉,运行带main方法的DBHelper类,一样打印数据库连接正常,难道不用加载数据库驱动也能建立连接?
对,你可以用输出语句看看是否为null,System.out.println(conn);
对这个题目来说,conn是不允许为空的,否则后面就没办法使用了
public static Connection getInstance() throws SQLException { if (null == conn) { synchronized (DBHelper.class) { if (null == conn) { conn = DriverManager.getConnection(url, username, password); } } } return conn; }
应该是主方法中判断的问题,conn对象是不为空的。看getConnection()方法的代码,当数据库对象为空是建立一个Connection的对象,所以conn对象永远不为空。当在主方法判断时,当然就输出成功了。但是因为没有加载驱动,所以会发生异常。
有没有抛出异常信息。
JAVA遇见HTML——JSP篇
248277 学习 · 3071 问题
相似问题