要想在编程语言中操作数据库,就必须与数据库建立连接。

建立JDBC连接的步骤如下:

  • 导入JDBC包:使用Java语言的import语句在Java代码开头位置导入所需的类。

  • 注册JDBC驱动程序:使JVM将所需的驱动程序实现加载到内存中,从而可以满足JDBC请求。

  • 数据库URL配置:创建一个正确格式化的地址,指向要连接到的数据库。

  • 创建连接对象:调用DriverManager对象的getConnection()方法来建立实际的数据库连接。

一、导入包

mysql驱动jar:http://central.maven.org/maven2/mysql/mysql-connector-java/

oracle驱动jar:https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html

要使用标准的JDBC包java.sql.*。

二、注册JDBC驱动程序

在使用程序之前,必须先注册该驱动程序。

注册驱动程序是将数据库驱动程序的类文件加载到内存中的过程。

只需在程序中一次注册就可以。可以通过两种方式之一来注册驱动程序。

1. Class.forName()
  推荐使用的方法,因为它使驱动程序注册可配置和便携。

Class.forName("oracle.jdbc.driver.OracleDriver"); //oracle
Class.forName("com.mysql.jdbc.Driver"); //mysql

2. DriverManager.registerDriver()
  使用静态DriverManager.registerDriver()方法来注册驱动程序。
  如果使用的是非JDK兼容的JVM(如Microsoft提供的),则应使用registerDriver()方法。

Driver myDriver = new oracle.jdbc.driver.OracleDriver(); //oracle
Driver myDriver = new com.mysql.jdbc.Driver(); //mysql
DriverManager.registerDriver( myDriver );

三、数据库URL

加载驱动程序后,可以使用DriverManager.getConnection()方法建立连接。

三个重载的DriverManager.getConnection()方法:

这里每个格式都需要一个数据库URL。 数据库URL是指向数据库的地址。

(1)MySQL
  JDBC驱动程序名称:com.mysql.jdbc.Driver
  URL格式:jdbc:mysql://hostname/databaseName

(2)Oracle
  JDBC驱动程序名称:oracle.jdbc.driver.OracleDriver
  URL格式:jdbc:oracle:thin:@hostname:portNumber:databaseName

(3)PostgreSQL
  JDBC驱动程序名称:org.postgresql.Driver
  URL格式:jdbc:postgresql://hostname:port/dbname

(4)DB2
  JDBC驱动程序名称:com.ibm.db2.jdbc.net.DB2Driver
  URL格式:jdbc:db2:hostname:port Number/databaseName

(5)Sybase
  JDBC驱动程序名称:com.sybase.jdbc.SybDriver
  URL格式:jdbc:sybase:Tds:hostname: portNumber/databaseName

四、创建连接对象

DriverManager.getConnection();

JDBC数据库连接(二)的更多相关文章

  1. JDBC 数据库连接池

    http://www.cnblogs.com/lihuiyy/archive/2012/02/14/2351768.html JDBC 数据库连接池 小结   当对数据库的访问不是很频繁时,可以在每次 ...

  2. JDBC数据库连接技术

    [学习笔记]JDBC数据库连接技术(Java Database Connectivity) 一.JDBC简介 Java是通过JDBC技术实现对各种数据库的访问的,JDBC是Java数据库连接技术的简称 ...

  3. JDBC数据库连接池

    用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库 ...

  4. JAVA之JDBC数据库连接池总结篇

    JDBC数据库连接池 一.JDBC数据库连接池的必要性 二.数据库连接池技术 三.多种开源的数据库连接池 3.1 C3P0数据库连接池 3.2 DBCP数据库连接池 3.3 Druid(德鲁伊)数据库 ...

  5. JAVA基础知识之JDBC——JDBC数据库连接池

    JDBC数据库连接池 数据库的连接和关闭是很耗费资源的操作,前面介绍的DriverManager方式获取的数据库连接,一个Connection对象就对应了一个物理数据库连接,每次操作都要打开一个连接, ...

  6. jdbc基础 (二) 通过properties配置文件连接数据库

    csdn博文地址:jdbc基础 (二) 通过properties配置文件连接数据库 上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接 ...

  7. 【Java123】JDBC数据库连接池建立

    需求场景:多SQL任务多线程并行执行 解决方案:建立JDBC数据库连接池,将线程与连接一对一绑定 https://www.cnblogs.com/panxuejun/p/5920845.html ht ...

  8. Java自学-JDBC 数据库连接池

    数据库连接池 与线程池类似的,数据库也有一个数据库连接池. 不过他们的实现思路是不一样的. 本章节讲解了自定义数据库连接池类:ConnectionPool,虽然不是很完善和健壮,但是足以帮助大家理解C ...

  9. JAVA jdbc(数据库连接池)学习笔记(二) SQL注入

    PS:今天偶然间发现了SQL的注入...所以就简单的脑补了一下,都是一些简单的例子...这篇写的不怎么样...由于自己没有进行很深的研究... 学习内容: 1.SQL注入的概念...   所谓SQL注 ...

随机推荐

  1. 记一次在node.js中使用crypto的createCipheriv方法进行加密时所遇到的坑

    Node.js的crypto模块提供了一组包括对OpenSSL的哈希.HMAC.加密.解密.签名,以及验证等一整套功能的封装.具体的使用方法可以参考这篇文章中的描述:node.js_crypto模块. ...

  2. [转]UiPath Keyboard Shortcuts

    本文转自:https://docs.uipath.com/studio/docs/keyboard-shortcuts The complete list of keyboard shortcuts ...

  3. Android 8.1 SystemUI虚拟导航键加载流程解析

    需求 基于MTK 8.1平台定制导航栏部分,在左边增加音量减,右边增加音量加 思路 需求开始做之前,一定要研读SystemUI Navigation模块的代码流程!!!不要直接去网上copy别人改的需 ...

  4. Android 无源码smail进行debug

    待调试项目在AndroidManifest.xml中debugable=true 参照此处:https://blog.csdn.net/ausboyue/article/details/8018918 ...

  5. 分享一个酷炫动态登录页面html

    话不多说,如下图: 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <H ...

  6. Oracle11G_R2中共享服务器模式和专用服务器模式参数解释及设置

    sys@MYTESTDB> show parameterNAME TYPE VALUE------------------------------------ ----------- ----- ...

  7. Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问

    配置虚拟用户访问 首先至少要关闭userlist 改完配置文件是要重启服务来使它生效 其实在刚装好vsftp的时候的配置文件不用修改的情况下配置虚拟用户访问控制是最好的 local_root选项不影响 ...

  8. Tyvj 1953 Normal:多项式,点分治

    Decription: 某天WJMZBMR学习了一个神奇的算法:树的点分治! 这个算法的核心是这样的: 消耗时间=0 Solve(树 a) 消耗时间 += a 的 大小 如果 a 中 只有 1 个点, ...

  9. plantuml-绘制状态图和活动图和部署图​

    背景 状态图:对象的所有状态,以及基于事件发生的状态改变的过程: 活动图:用例的工作流程: 部署图:系统的软硬件物理体系结构: 状态图 基本语法 元素 语法 说明 开始和结束状态 [*] 标识开始和结 ...

  10. 利用Python进行数据分析-Pandas(第七部分-时间序列)

    时间序列(time series)数据是一种重要的结构化数据形式,应用于多个领域,包括金融学.经济学.生态学.神经科学.物理学等.时间序列数据的意义取决于具体的应用场景,主要有以下几种: 时间戳(ti ...