使用JDBC连接MySQL数据库(或Oracle等其他数据库),其中加载驱动程序的时候有一句:
Class.forName(DBDriver).newInstance();请问这个newInstance是干吗的??没有他它程序照样运行很正常啊~~~~干吗非要多此一举加上newInstance??附Demo,Eclipse 3.1 + jdk 1.5 + MySQL 5.0+ mysql-jdbc-connector 3.1下调试成功(没有加newInstance())源码:
import java.sql.*;public class TestMySQL {
public static void main(String args[]){
DBConn conn=new DBConn();
conn.createConn();
conn.getResult("select * from student where id=2");
conn.closeConn();
}
}class DBConn {
String url = "jdbc:mysql://localhost:3306/mydata?user=root&password=root"; String DBDriver = "com.mysql.jdbc.Driver"; Connection conn = null; public void createConn() {
try {
Class.forName(DBDriver).newInstance();
conn = DriverManager.getConnection(url);
} catch (Exception e) {
e.printStackTrace();
} } public void getResult(String sql) {
ResultSet rs = null;
try {
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()){
System.out.println("id:"+rs.getInt(1)+" name:"+rs.getString(2)+" age:"+rs.getInt(3));
}
rs.close();
stmt.close();

} catch (Exception e) {
e.printStackTrace();
}

}

public void closeConn(){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}}