java为什么不用加载驱动也能连接数据库??
代码这个packagecom.bjsxt.user;importjava.sql.Connection;importjava.sql.DriverManager;impo...
代码这个
package com.bjsxt.user;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;
import com.bjsxt.connectonDataBase.ConnectionDataBase;import com.bjsxt.user.User;import com.bjsxt.user.UserDao;
public class Test01 {
public static void main(String[] args) { boolean flag=false; flag=userControlle(); System.out.println(flag); } public static boolean userControlle(){ boolean flag=false; Connection conn=null; PreparedStatement ps=null; ResultSet rs=null; //Class.forName("com.mysql.jdbc.Driver"); String sql="select * from user_table where uname='jhc001'"; try { conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/bjsxtusers","root","BJSXT"); ps=conn.prepareStatement(sql); rs=ps.executeQuery(); while(rs.next()){ System.out.println(rs.getString(2)); flag=true; } } catch (SQLException e) { eprintStackTrace(); } return flag; }} 展开
package com.bjsxt.user;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;
import com.bjsxt.connectonDataBase.ConnectionDataBase;import com.bjsxt.user.User;import com.bjsxt.user.UserDao;
public class Test01 {
public static void main(String[] args) { boolean flag=false; flag=userControlle(); System.out.println(flag); } public static boolean userControlle(){ boolean flag=false; Connection conn=null; PreparedStatement ps=null; ResultSet rs=null; //Class.forName("com.mysql.jdbc.Driver"); String sql="select * from user_table where uname='jhc001'"; try { conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/bjsxtusers","root","BJSXT"); ps=conn.prepareStatement(sql); rs=ps.executeQuery(); while(rs.next()){ System.out.println(rs.getString(2)); flag=true; } } catch (SQLException e) { eprintStackTrace(); } return flag; }} 展开
5个回答
展开全部
也许在DriverManager里面已经为你封装好了驱动的注册了,在这里也只是猜想[【系统根据驱动url的前段部分:jdbc:mysql自动判断注册驱动了】,否则不注册驱动是无法进行数据库操作的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能资源在缓存里了,要不就是你其它类中加载了,在不就是因为你没有正常关闭资源导致缓存中还在!在不就是你在配置文件中配置了,然后再类中加载了!比如数据库连接池。。。。
追问
我源代码就摆在那,真的没加载
追答
不加载是不可能连接数据库的,肯定是其他地方加载了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
网上搜了很多,看了一下源码:
java.sql.DriverManager 类,在类注释中有下面的这一行:
* <P>Applications no longer need to explicitly load JDBC drivers using <code>Class.forName()</code>. Existing programs
* which currently load JDBC drivers using <code>Class.forName()</code> will continue to work without
所以不用Class.forName()注册数据库的驱动也能加载驱动。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-20
展开全部
你的Class.forName 不是在注册驱动吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询