DriverManager主要功能包括注册驱动?不是引入了Driver包后就自动注册了吗!疑问脸

DriverManager主要功能包括注册驱动?不是引入了Driver包后就自动注册了吗!疑问脸

DriverManager主要功能包括注册驱动?不是引入了Driver包后就自动注册了吗!疑问脸

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
提问者 qq_袁佳坤_0 2019-04-07 17:33:37

下面是我具体运行的代码:

package com.imooc.jdbc.demo1;


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;


import org.junit.Test;


import com.mysql.jdbc.Driver;


public class JDBCDemo1 {

@Test

public void demo1(){

try {

Connection conn = DriverManager.getConnection("jdbc:mysql:///jdbctest?useSSL=false&serverTimezone=Hongkong&useUnicode=true&characterEncoding=utf-8", "root", "123456");

String sql = "select * from user";

Statement stmt = conn.createStatement();

ResultSet resultSet = stmt.executeQuery(sql);

while(resultSet.next()){

int uid = resultSet.getInt("uid");

String username = resultSet.getString("username");

String password = resultSet.getString("password");

String name = resultSet.getString("name");

System.out.println(uid+"  "+username+"  "+password+"  "+name);

}

resultSet.close();

stmt.close();

conn.close();

} catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}


  • 提问者 qq_袁佳坤_0 #1
    已经了解到DriverManager类的源码里面已经帮我们自动注册Driver,所以不需要Class.forName进行注册了
    2019-04-08 13:08:48
  • 好帮手慕阿满 回复 提问者 qq_袁佳坤_0 #2
    恩恩,但是JDBC必须是4.0以上的,也就是jdk必须是1.6及之后的才可以。祝:学习愉快~
    2019-04-08 19:39:46
好帮手慕珊 2019-04-05 15:26:46

你好!正常情况下就不用二次注册驱动了,所以我们用Class.forName()更多一些。它的应用场景,就像老师在视频中介绍的,在Driver类的静态代码中有,也就是在加载驱动类的时候去注册驱动。

http://img1.sycdn.imooc.com//climg/5ca7032f00010bca14440584.jpg

祝学习愉快!

  • 提问者 qq_袁佳坤_0 #1
    我是引入了Driver类后它自动注册了,没有使用Class.forName(),请问这样有什么利弊
    2019-04-05 15:55:00
  • 好帮手慕珊 回复 提问者 qq_袁佳坤_0 #2
    你好!你说的引入Driver类是什么意思?直接使用new Drvier(),不调用DriverManage的注册方法吗?
    2019-04-05 20:41:11
  • 提问者 qq_袁佳坤_0 回复 好帮手慕珊 #3
    Driver类通过import com.mysql.jdbc.Driver;导入后会自动加载执行,为何需要Class.forName
    2019-04-06 16:21:33
好帮手慕珊 2019-04-04 18:38:17

你好!DriverManage是有注册驱动的功能的,如下代码所示:

http://img1.sycdn.imooc.com//climg/5ca5de630001098b04810051.jpg

祝学习愉快!

  • 提问者 qq_袁佳坤_0 #1
    那使用DriverManager.registerDriver注册驱动的使用场景在哪,正常情况不需要这样二次注册吧
    2019-04-05 10:51:51
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师