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

来源:8-3 DBHelper类设计

Justicer_P

2015-01-15 11:38

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

写回答 关注

4回答

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

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

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

    Justic...

    非常感谢!

    2015-01-20 08:38:33

    共 1 条回复 >

  • 隔壁王爷爷
    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对象永远不为空。当在主方法判断时,当然就输出成功了。但是因为没有加载驱动,所以会发生异常。

    Justic...

    意思是,即使没有加载驱动,conn = DriverManager.getConnection(url, username, password);还是会得到一个不为空的conn?

    2015-01-16 17:07:05

    共 1 条回复 >

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

    有没有抛出异常信息。

    Justic...

    没有抛出异常信息。但是在后面在JSP上调用DBHelper得到连接对象的时候有异常,说是无法找到连接驱动。但是在这个DBHelper类里面运行main方法,却可以的得到连接对象,真是奇怪。

    2015-01-16 15:21:50

    共 1 条回复 >

JAVA遇见HTML——JSP篇

Java Web入门级教程JSP,带你轻松的学习JSP基础知识

248277 学习 · 3071 问题

查看课程

相似问题