JDBC-DriverManager细节

1> 注册驱动的问题.
DriverManager.registDriver(new Driver()); ==> 该种注册方式,在将来的开发中 不要使用.
使用如下方式:
Class.forName("com.mysql.jdbc.Driver");
2>为什么?
在驱动类的代码中,我们可以看到有一个静态代码块。 静态代码块中已经做了注册驱动的事情。 所以我们只需要加载
驱动类,就相当于调用了 registDriver 方法。
3>使用 Class.forName有什么好处?
* 如果调用registDriver 方法, 那么相当于创建了两个Driver对象,浪费资源.
* 使用forname的方式. 因为驱动类的名称是以字符串的形式填写,那么我们把该名称放到配置文件中,每次从配置文件中读取.
那么切换驱动类就非常方便. 也就意味着切换数据库方便.

----------------------------------------------------------------------------------------------------------------------
4.获得Connection的细节

DriverManager.getConnection("url","用户名","密码");

url 填写格式:
外层协议:内部协议://主机名称[ip地址]:端口号/库名?参数键1=参数值&参数键2=参数值

jdbc:mysql://localhost:3306/day15?useUnicode=true&characterEncoding=utf-8

或者

如果是指向本机且默认端口号没有修改,可以直接省去。如下:

jdbc:mysql:///day15?useUnicode=true&characterEncoding=utf-8

结合上面说的方便切换数据库.
我们在书写时,也可以把上面3个参数,写到配置文件中.

时间: 2024-12-19 08:44:01

JDBC-DriverManager细节的相关文章

什么是JDBC

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名. 一.:JDBC的简单使用 首先JDBC是一个接口的集合,是用来控制SQL语句的,要导入一些包,本例子中使用的是junit.Test的测试方式 import java.s

JDBC学习笔记及问题小结

JDBC => Java Database connectivity => 数据库连接 JDBC 就是由 java提供的一套访问数据库的统一api. 使用这套api , 我们在 切换库时 十分方便. 并且切换库不会改变代码.学习成本也降低了. 1.开发一个jdbc程序 1> 导包 ==> 导入厂商提供的数据库驱动. ==> mysql-connector-java-5.0.8-bin.jar 2> 注册驱动 3> 连接数据库 4> 操作数据库(执行sql)

JDBC和JDBCtemplate区别

文章来自 https://blog.csdn.net/qq_39651022/article/details/78478571 1.背景介绍 Java程序员在以后的工作中很重要的一点就是得和数据库打交道,但是代码和数据库是两个不相干的. 怎么使用代码对数据库进行操作呢,这个时候就用到JDBC. 2.知识剖析 什么是JDBC? ①JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API, 可以为多种关系数据库提供统一访问,它由一

JDBC的驱动是如何加载的

注:本文出处:http://www.cnblogs.com/jiaoyiping/ 转载请保留出处 JDBC定义了一套接口,数据库产品的提供商会实现这些接口来提供自己的数据库驱动程序,这是个很好的面向接口编程的实例,想要替换数据库的时候只需要替换驱动程序就可以了(这里暂不考虑不同数据库之间的数据类型和SQL语法的差异) 那么针对具体的一款数据库(以PostgreSQL为例)是如何初始化的呢? 我们在使用原生的JDBC的时候都会写以下的代码: Class.forName("org.postgres

JDBC DataSource Example – Oracle, MySQL and Apache DBCP Tutorial

We have already seen that JDBC DriverManager can be used to get relational database connections. But when it comes to actual programming, we want more than just connections. Most of the times we are looking for loose coupling for connectivity so that

老调重弹:JDBC系列 之 <驱动加载原理全面解析>

前言 最近在研究Mybatis框架,由于该框架基于JDBC,想要很好地理解和学习Mybatis,必须要对JDBC有较深入的了解.所以便把JDBC 这个东东翻出来,好好总结一番,作为自己的笔记,也是给读者一个参考---以下是本文的组织结构,读者可以点击上面的目录查看: 概述 一般情况下,在应用程序中进行数据库连接,调用JDBC接口,首先要将特定厂商的JDBC驱动实现加载到系统内存中,然后供系统使用.基本结构图如下: 驱动加载入内存的过程 这里所谓的驱动,其实就是实现了java.sql.Driver

再说JDBC

上篇文章<再说Java EE>说明了一下什么是规范,有什么作用,这篇文章来细说一下JDBC. JDBC JDBC(Java Database Connection)也是Java EE中的一个规范,所谓规范是一组接口.如JDBC接口包括在java.sql及javax.sql包中,当中java.sql属于JavaSE,javax.sql属于JavaEE,部分例如以下图: 以上来自jdk中的src/java/sql. 由于提倡面向接口编程.所以建议仅使用JDBC规范中的类,规范与实现的关系例如以下:

JDBC接口讲解与底层实现分析(上)

一.JDBC为什么需要数据库驱动? 数据库是一个产品,想要访问它,就得通过它定义的方式去访问.你可能觉得平时操作时好像并没有按照什么协议访问呀,就是敲了下SQL命令,就有返回结果了.但你记得你是在什么环境下访问的吗?你在cmd终端下输入mysql启动的就是mysql client,是一个客户端,这个客户端其实就是一段程序,它的内部逻辑对你来说是透明的,你给它一段SQL,其实它是会做一定包装的,然后通过一些协议发送给mysql的server服务端. 抓包工具:WireShark 然后打脸了,并没有

jdbc桥连接过程解析

读多少源码,便知自己有多无知! 想温习一下桥链接模式,然后觉得自己已然吃透了,因为自己写的博客,觉得还是应该更具体一些. 类似于这样的结构: 个人理解: 结构型模式 - 桥连接模式 概述: Bridge模式的应用场景 结构图: 桥接模式的优缺点 桥连接模式的应用实例 代码(其实读UML图要比代码还要一目了然) 参考/转自 便是一目了然了,觉得应该找个在Java中桥连接模式的实际应用,于是就找到了Jdbc连接. 于是,困惑的旅程开始了....... //加载及注册JDBC驱动程序 Class.fo

JDBC操作数据库之修改数据

使用JDBC修改数据库中的数据,起操作方法是和添加数据差不多的,只不过在修改数据的时候还要用到UPDATE语句来实现的,例如:把图书信息id为1的图书数量改为100,其sql语句是:update book set bookCount=100 where id=1.在实际开发过程中,通常会由程序传递SQL语句中的参数,所以修改数据也通常使用PreparedStatement对象进行操作. 实例代码: (1)index.jsp 1 <html> 2 <head> 3 <meta