jdbc连接数据库第一步是注册驱动毫无疑问的。通常是Class.forName(xxx);但是今天我写了一个小Demo 发现不用注册驱动也能正常运行不知道问什么。
String sql = "insert into "+table+" values (?,?,?,?,?,?,?,?)";
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/t113", "root", "3317");
PreparedStatement stmt =null;
stmt=conn.prepareStatement(sql);
刚开始没有Class.forName(),所以jvm里不太可能存在数据库的驱动类。但是不论是mysql 还是oracle 都可以识别。
开发环境是eclipse+jdk1.6
求大神指教
String sql = "insert into "+table+" values (?,?,?,?,?,?,?,?)";
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/t113", "root", "3317");
PreparedStatement stmt =null;
stmt=conn.prepareStatement(sql);
刚开始没有Class.forName(),所以jvm里不太可能存在数据库的驱动类。但是不论是mysql 还是oracle 都可以识别。
开发环境是eclipse+jdk1.6
求大神指教
解决方案 »
- java如何获取最近三周每周排名第一的数据
- eclipse debug java程序,如何看内存是否溢出
- tomcat 重新启动后无法编译jsp
- STRUTS Action中調用自己寫的發郵件的類時出錯,但在類中用Main方法就可以成功!javamail
- 哪个HIBERNATE课讲的好?
- 急::使用google的web service出现的一个问题
- 我现在正有用一台hp-nux下,装有tomcat+oracle开发jsp环境,可是JAVA进程老是占用很大,而且TOMCAT总是死掉,不知是为什么?
- 在线等,解决问题立即结贴!!!!!Hibernate的问题
- Apache SOAP的Web Services在Tomcat4.0.4的安装和测试的问题
- 求助大神解决连接db2的异常问题
- Struts2标签的设置问题
- 找到bean的原因大家帮我看一下
你是后来注释的吧?
你是后来注释掉的!驱动加载只要第一次加载的时候存在内存中就行,之后都不需要再次加载了
仔细找找肯定能发现的。要么你写个Test类测试呗。肯定会报错的。
而且JDK至少1.6
=====================================================
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 驱动程序的现有程序将在不作修改的情况下继续工作。 在调用 getConnection 方法时,DriverManager 会试着从初始化时加载的那些驱动程序以及使用与当前 applet 或应用程序相同的类加载器显式加载的那些驱动程序中查找合适的驱动程序。
不过为了兼容其他运行环境,最好是写上加载部分
这个特性表示不知道。
楼主把jar包去掉看看报错不报错。报错那肯定是之前加载过的,然后一直存在与内存中。