1. 什么是JDBC:Java数据库连接性(Java Database Connectivity) API,允许用户从Java应用程序中访问任何表格化数据源。

2. JDBC除了提供到更宽范围的SQL数据库的连接外,也允许用户访问其他的表格数据源,如:电子表格。

3. JDBC定义了一个底层的API,用来支持独立于任何特定SQL实现的基本SQL功能。这意味着重要的是执行原SQL语句,然后检索它们的结果。

4. JDBC2.0 API包括两个包:java.sql和jvax.sql。

5. JDBC3.0规范,于2001年10月发布,引入几个特性,包括支持各种数据类型,附加的元数据能力,并增加了大量的接口。

6. JDBC的三种主要功能如下:

  • 建立与数据库或其他表列数据源的连接;
  • 向数据库发送SQL命令
  • 处理结果

7. 使用JDBC API访问数据库,并处理结果集的主要步骤:

  • 装载JDBC驱动程序
  • 获取数据库连接
  • 创建一条语句,执行SQL环境(Statement)
  • 执行SQL查询
  • 从ResultSet中检索数据
  • 释放资源

8. 装载JDBC驱动程序的几种方式:

  • Class.forName("驱动类的全限定名");
  • Driver d = new 驱动类全限定名();
    DriverManager.registerDriver(d); // 可以省略此句
  • java -Djdbc.drivers = 驱动类全限定名
    此种方式是在启动JVM时就将驱动类加载进Java虚拟机

9. 获取数据库连接

Connection conn = DriverManager.getConnection( url, user, password );

10. 创建执行SQL环境

Statement stmt = conn.createStatement();

11. 执行SQL

String sql = "select rownum, sysdate from dual";

ResultSet rs = stmt.executeQuery(sql);

12. 处理结果集

while(rs.next()) {

int i = rs.getInt(1);

Date d = rs.getDate(2);

System.out.println(i + " , " + d);

}

// 注意,JDBC结果集列是从“1”开始的,而其它地方如hibernate等都是从“0”开始的

13. 释放资源

if(rs != null) rs.close();

if(stmt != null) stmt.close();

if(conn != null) conn.close();

14. 常见的几种数据库连接方式:

  • Oracle数据库:
    Class.forName("oracle.jdbc.driver.OracleDriver");
    String url = "jdbc:oracle:thin:@[hostName]:[port]:[DB]";
  • MySQL数据库:
    Class.forName("");
    String url = "jdbc:mysql://[hostName]:[port]/[DB]";

15. JDBC驱动程序类型(4种)

  • JDBC-ODBC桥 + ODBC驱动程序
    优点:
    它提供连接几乎所有平台上的所有数据库能力;
    它可能是访问低端桌面数据库和应用程序的唯一方式。
    缺点:
    ODBC驱动程序也必须加载到目标机上;
    JDBC和ODBC转换影响性能。
  • 本地API部分Java驱动程序
    优点:
    比前一种驱动程序快得多
    缺点:
    需要在目标机上有本地代码;
    它们依赖的Java本地接口在不同JVM的提供商间的实现不一致。
  • JDBC-Net纯Java驱动程序
    优点:
    不要求客户上有任何本地二进制代码;
    不需要客户安装;
    支持多个网络选项。
    缺点:
    由于网络接口将体系结构复杂化,因此很难建立。
  • 本地协议纯Java驱动程序
    目前的驱动程序都是使用这种,比JDBC-ODBC桥快得多,100%Java驱动程序,本地协议。

转载于:https://www.cnblogs.com/Lxiaojiang/p/6708538.html

JDBC——入门知识【转】相关推荐

  1. java圆周率流程图,流程图、PI图入门知识 课件.doc

    流程图.PI图入门知识 课件 流程图.PI图入门知识 基本定义 工艺流程图﹙又叫PI图﹚,通过图解的形式,表示出在化工生产过程中,由原料制得产品过程的物料和能量发生的变化及其流向:表示出生产中采用的化 ...

  2. 和与余数的和同余理解_5 同余 ——数论入门知识讲解系列

    数学竞赛 数论是纯粹数学的分支之一,主要研究整数的性质,按研究方法分为初等数论和高等数论.中学生(甚至小学生)课外数学兴趣小组的许多内容是属于初等数论的,各级别数学竞赛也会把初等数论作为重点内容进行考 ...

  3. python 快速排序_小白入门知识详解:Python实现快速排序的方法(含实例代码)...

    前言: 今天为大家带来的内容是:小白入门知识详解:Python实现快速排序的方法(含实例代码)希望通过本文的内容能够对各位有所帮助,喜欢的话记得点赞转发收藏不迷路哦!!! 提示: 这篇文章主要介绍了P ...

  4. oracle入门知识实施,新手必须了解的oracle入门知识

    欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 oracle入门知识 一个表空间只能属于一个数据库每个数据库最少有一个控制文件(建议3个,分别放在不同的磁盘上) 每个数 ...

  5. ruby网站部署到服务器,入门知识: 把代码部署到服务器, SSH

    入门知识: 把代码部署到服务器, SSH 2015-07-28 16:28 访问量: 2868 分类: 技术 如何登陆远程服务器呢? $ ssh root@your.server.com -p 334 ...

  6. python自学需要哪些基础知识-零基础学Python应该学习哪些入门知识及学习步骤安排...

    众所周知,Python以优雅.简洁著称,入行门槛低,可以从事Linux运维.Python Web网站工程师.Python自动化测试.数据分析.人工智能等职位!就目前来看,Python岗位人才缺口高达4 ...

  7. 学python需要什么基础知识-学习Python需要知道哪些基础入门知识?

    众所周知,Python以优雅.简洁著称,入行门槛低,可以从事Linux运维.Python Web网站工程师.Python自动化测试.数据分析.人工智能等职位!就目前来看,Python就业前景广阔.很多 ...

  8. python自学步骤-零基础学Python应该学习哪些入门知识及学习步骤安排

    众所周知,Python以优雅.简洁著称,入行门槛低,可以从事Linux运维.Python Web网站工程师.Python自动化测试.数据分析.人工智能等职位!就目前来看,Python岗位人才缺口高达4 ...

  9. MySql入门知识(一)

    概述 MySQL是一个真正多用户,多线程结构化查询语言数据库服务器.MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL的SQL语言是用于访问数据 ...

最新文章

  1. Java CPU占用率高分析
  2. 十三、linux 内核驱动模块传参数
  3. AutoCAD .NET API二次开发学习指南
  4. mysql test 映射到实体_将MySql视图映射到JPA Entitites,使用哪个唯一...
  5. gerrit的使用和配置
  6. linux中查找某一个字符串,linux下查找包含某个字符串的文件
  7. 这是对R的误解!R的应用原来这么广!
  8. php mysql group by_php – 如何在mysql查询中解决“不在GROUP BY中”错误
  9. python tesseract ocr_使用Python和Tesseract OCR解决Captch
  10. 【转】为VS2005安装STLport
  11. gitee合并分支_Gitee在线解决代码冲突功能上线,无需手动修改轻松解决冲突
  12. 触类旁通:图形、图片、与表单控件
  13. 骁龙888打开“新象限” ,专业相机和游戏机直呼不讲武德
  14. 桌面被关闭,如何在任务管理器中打开桌面?
  15. 如何测试服务器端口是否打开?
  16. error: incompatible types when assigning to type ‘const struct wiphy_wowlan_support‘
  17. 设置WebStorm背景图片
  18. 【12c】扩展数据类型(Extended Data Types)-- MAX_STRING_SIZE
  19. 神奇英语语法系列(三)——状语从句
  20. 抗震救灾中十大“厚脸皮”女星(图)

热门文章

  1. golang辟谣之模板编程
  2. LYNC显示用户位置的相关配置
  3. Google退出中国 谁最受伤
  4. 机器学习知识点(三十一)LDA数学八卦
  5. 模糊数学笔记:六、模糊模型识别-II(择近原则)
  6. 字符串之数字子串求和
  7. 单链表按顺序插入节点
  8. 单链表的创建示意图, 显示单向链表的分析
  9. Create and Manage Cases
  10. jQuery 发送 AJAX 请求