java – 什么Class.forName()方法为JDBC做什么?
发布时间:2020-12-15 04:37:30 所属栏目:Java 来源:网络整理
导读:参见英文答案 What is the purpose of ‘Class.forName(“MY_JDBC_DRIVER”)’?????????????????????????????????????4个 我发现Class.forName方法初始化静态块. Class.forName("com.mysql.jdbc.Driver").newInstance(); 在jdbc 4.0之后,您不需要调用此方法.
参见英文答案 >
What is the purpose of ‘Class.forName(“MY_JDBC_DRIVER”)’?????????????????????????????????????4个
我发现Class.forName方法初始化静态块. Class.forName("com.mysql.jdbc.Driver").newInstance(); 在jdbc 4.0之后,您不需要调用此方法.但是人们总是在jdbc 4.0版本之后使用这种方法.我的问题是,如果我使用jdbc 4.0,为什么需要使用此方法? Class.forName()方法对JDBC 4.0以及之后做了什么? 这是我的示例代码.我只将mysql-connector.jar添加到我的库中,当我运行此代码时它运行得很好. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306","root","root"); Statement stmt = con.createStatement(); System.out.println("Created DB Connection...."); 解决方法
它获取由给定FQN表示的Class对象.如果之前未加载,它也会加载该类.这具有初始化静态类变量和运行任何静态块的副作用.
使用最新的JDBC版本,您不再需要Class.forName()来加载驱动程序,使用较旧的驱动程序版本它是必需的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |