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

建立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. HTML 表单模板

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 任正非讲话稿 PDF整理版

    任正非讲话稿 PDF整理版 任正非思想之路 这里收录了任正非讲话稿400余篇,从1994年到2018年,从深圳.中国到东南亚.非洲.欧洲.美洲,从研发.市场.服务到财经.人力资源.战略.内控与公共关系 ...

  3. 520表白酷炫html

    html表白神器,动态浮动爱心,话不多说,直接看截图吧! 下面附上完整代码.别忘了点个赞哦! <!doctype html> <html> <head> <m ...

  4. 连接查询 变量、if else、while

    连接查询 变量.if else.while   一.连接查询:通过连接运算符可以实现多个表查询. 连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 常用的两个链接运算符: ...

  5. 如何在Oracle 12C中Drop/Truncate多个分区 (Doc ID 1482264.1)

    How to Drop/Truncate Multiple Partitions in Oracle 12C (Doc ID 1482264.1) APPLIES TO: Oracle Databas ...

  6. Appium常用指令

    右键图片“在新标签页打开”可查看大图

  7. vscode 启动

    code --user-data-dir /root/vscode code --user-data-dir /root/vscode

  8. Springcloud 配置 | 史上最全,一文全懂

    Springcloud 高并发 配置 (一文全懂) 疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列之15 [博客园总入口 ] 前言 疯狂创客圈(笔者尼恩创建的高并发研习社群)Spring ...

  9. 【游戏开发】网络编程之浅谈TCP粘包、拆包问题及其解决方案

    引子 现如今手游开发中网络编程是必不可少的重要一环,如果使用的是TCP协议的话,那么不可避免的就会遇见TCP粘包和拆包的问题,马三觉得haifeiWu博主的 TCP 粘包问题浅析及其解决方案 这篇博客 ...

  10. Sql 中常用时间处理函数

    1.Sql 中常用时间处理函数  GETDATE()  返回当前的日期和时间 DATEPART()  返回日期/时间的单独部分 DATEADD()   返回日期中添加或减去指定的时间间隔 DATEDI ...