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

建立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. Angular-----代码风格指南!!!(很重要)

    一:文件结构 1).单一规则:坚持每个文件只定义一样东西(例如服务或组件),考虑把文件大小限制在 400 行代码以内. 单组件文件非常容易阅读.维护,并能防止在版本控制系统里与团队冲突: 单组件文件可 ...

  2. Docker容器镜像打成tar包

    简述需求: 在现在容器上保存镜像进行打包,在另一台服务上使用 首先查看下现有要打tar包的容器 docker ps -a 接下来用commit参数进行保存镜像, -a 提交人的姓名  -m “提交内容 ...

  3. vuex 精简demo解析

    1.store/index.js 文件 import Vue from 'vue' import Vuex from 'vuex' //使用vuex Vue.use(Vuex); //一个store ...

  4. qcom 8953平台 LCD亮灭屏流程及LCD知识点总结【转】

    一.LK中亮屏流程 gcdb_display_init(),进行display初始化的起始地方: oem_panel_select(),在这里去选择哪一款屏,也可以在这里添加新一款屏: dsi_pan ...

  5. dependencyManagement

    maven中的继承是在子类工程中加入父类的groupId,artifactId,version并用parent标签囊括 depenentManagement标签作用: 当父类的pom.xml中没有de ...

  6. mysql实践:sql优化

    ---恢复内容开始--- 设计表的时候 1. 不同的表涉及同一个公共意义字段不要使用不同的数据类型(可能导致索引不可用,查询结果有偏差) 2. 不要一张表放太多的数据     主表20~30个字段   ...

  7. 设计模式-工厂模式(Factory)(创建型模式)

    以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码 //Product.h #pragma once class Product { public: ; protected: P ...

  8. 用dotnet core搭建web服务器(二)路由表与封装

    https://gitee.com/lightsever/netcore_study/tree/master/server02_path 先上代码,首先我们把httpserver封装一下,以后用起来方 ...

  9. 关于实现序列化接口Serializable

    关于javabean,是否需要实现序列化接口这个问题,只有当这些javabean需要通过分布式网络传输,磁盘持久化等情况下才有必要,其他情况并非必须.

  10. 自己开发的网站压力测试(阿里云1M带宽)

    背景 项目采用微服务架构设计,独立商城系统,博客系统,搜索系统,sso单点系统部署在docker环境下 商城系统(django) 博客系统(flask) 搜索系统(es+flask+restful) ...