问答详情
源自:8-3 DBHelper类设计

把DBHelper类的加载数据库驱动的静态代码块注释后一样可以得到数据库连接对象

即,把static{...}这部分注释掉,运行带main方法的DBHelper类,一样打印数据库连接正常,难道不用加载数据库驱动也能建立连接?54b7361b0001909805000396.jpg

提问者:Justicer_P 2015-01-15 11:38

个回答

  • 好帮手慕珊
    2015-01-16 17:15:31
    已采纳

    对,你可以用输出语句看看是否为null,System.out.println(conn);

    对这个题目来说,conn是不允许为空的,否则后面就没办法使用了

  • 隔壁王爷爷
    2015-04-14 01:15:02

    public static Connection getInstance() throws SQLException {
        if (null == conn) {
            synchronized (DBHelper.class) {
                if (null == conn) {
                    conn = DriverManager.getConnection(url, username, password);
                }
            }
        }
        return conn;
    }


  • 好帮手慕珊
    2015-01-16 16:29:17

    应该是主方法中判断的问题,conn对象是不为空的。看getConnection()方法的代码,当数据库对象为空是建立一个Connection的对象,所以conn对象永远不为空。当在主方法判断时,当然就输出成功了。但是因为没有加载驱动,所以会发生异常。

  • 好帮手慕珊
    2015-01-15 13:40:19

    有没有抛出异常信息。