貌似只要Connection c = DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=root");就能连接数据库。
Class.forName("org.gjt.mm.mysql.Driver").newInstance()是不是不需要了?
Class.forName("org.gjt.mm.mysql.Driver").newInstance()是不是不需要了?
因为它是真正的jdbc Driver class。否则DriverManager就不知道用哪个Driver了。如果你很感兴趣jdbc是如何实现的,可以下一份jdk的源码,读读DriverManager.getConnection的方法实现就知道了。
DriverManager 类的方法 getConnection 和 getDrivers 已经得到提高以支持 Java Standard Edition Service Provider 机制。 JDBC 4.0 Drivers 必须包括 META-INF/services/java.sql.Driver 文件。此文件包含 java.sql.Driver 的 JDBC 驱动程序实现的名称。例如,要加载 my.sql.Driver 类,META-INF/services/java.sql.Driver 文件需要包含下面的条目: my.sql.Driver
应用程序不再需要使用 Class.forName() 显式地加载 JDBC 驱动程序。当前使用 Class.forName() 加载 JDBC 驱动程序的现有程序将在不作修改的情况下继续工作。
1. 我如何知道我的jdbc版本?
2. 在navicat for mysql 9 中,能不能手动添加记录,不用写insert into语句?
1.你说摘自javadoc,这个javadoc就有对应的jdk的版本,于是你更应该查出它的适用范围。我不知道mysql最新的jdbc driver是否已经实现了JDBC 4.0(或者部分实现:-0, 待查)2. navicat for mysql中,直接双击一个表,然后就可以点击"+"添加记录了。非常简单啊。