JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的。

JDBC 简单功能

  • 连接数据源,如数据库
  • 传给数据库查询和更新指令
  • 获取并处理数据库返回结果(对查询等的响应)

示例代码:

public void connectDBAndQuery(String username, String password) {
Connection con = DriverManager.getConnection("jdbc:myDriver:myDatabase", username, password);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}
}

JDBC 组成

1、 JDBC API

  • 提供关系型数据的编程访问接口
  • 与分布式或异构环的数据源交互
  • 是 Java平台的一部分(包括J2SE和J2EE)
  • JDBC 4.0 API 分成 java.sql 和 javax.sql 两个包

2、DriverManager

JDBC 架构的基石:定义对象,将 Java 应用连接到 JDBC 驱动

标准扩展包 :javax.naming 和 javax.sql,允许使用注册到 JNDI 的 DataSource对象,来部署数据源的连接

评价:小而简

推荐:虽可使用 Connection,但推荐使用 DataSource

3、JDBC 测试组件

判断 JDBC 驱动是否运行程序

虽不全面,但体现 JDBC API 很多重要特性

4、JDBC-ODBC 桥

通过 ODBC 驱动,来提供 JDBC 访问

但要求每个机器都有 ODBC 驱动

因此,适用于企业网络(如果客户端安装不是问题),或三层架构的应用服务器代码

JDBC 架构

分为双层架构和三层架构

双层

  • 作用:此架构中,Java Applet 或应用直接访问数据源
  • 条件:要求 Driver 能与访问的数据库交互
  • 机制:用户命令传给数据库或其他数据源,随之结果被返回
  • 部署:数据源可以在另一台机器上,用户通过网络连接,称为 C/S配置(可以是内联网或互联网)

三层

  • 侧架构特殊之处在于,引入中间层服务
  • 流程:命令和结构都会经过该层
  • 吸引:

可以增加企业数据的访问控制,以及多种类型的更新;

另外,也可简化应用的部署,并在多数情况下有性能优势

  • 历史趋势:

以往,因性能问题,中间层都用 C 或 C++ 编写

随着优化编译器(将 Java 字节码 转为 高效的 特定机器码)和技术的发展,

如EJB,Java 开始用于中间层的开发

这也让 Java 的优势突显出现出来

使用 Java 作为服务器代码语言,JDBC随之被重视

JDBC 部分特性

  • 连接池
  • 分布式事务
  • 离线 rowset
  • 连接 Data Source

关于Java(JDBC介绍)的更多相关文章

  1. Java JDBC的基础知识(三)

    在前面的Java JDBC的基础知识(二)和(三)中,主要介绍JDBC的原理和简单的应用过程.尤其在(二)中,可以发现代码进行多次try/catch,还有在前面创建连接等过程中好多参数我都给写定了. ...

  2. Java JDBC的基础知识(二)

    在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...

  3. JAVA JDBC(存储过程和事务管理)

    1.什么是存储过程 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程 ...

  4. Java JDBC学习实战(二): 管理结果集

    在我的上一篇博客<Java JDBC学习实战(一): JDBC的基本操作>中,简要介绍了jdbc开发的基本流程,并详细介绍了Statement和PreparedStatement的使用:利 ...

  5. Java——JDBC

    今天给大家更新一篇我自己学习Java——JDBC的经验 Java中JDBC是(Java DataBase Connectivity)的简称,由java语言编写的类和接口组成,可为多种关系型数据库提供了 ...

  6. JDBC(1):JDBC介绍

    一,JDBC介绍 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC.这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加 ...

  7. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  8. Java JDBC高级特性

    1.JDBC批处理 实际开发中需要向数据库发送多条SQL语句,这时,如果逐条执行SQL语句,效率会很低,因此可以使用JDBC提供的批处理机制.Statement和PreparedStatemen都实现 ...

  9. Java JDBC下执行SQL的不同方式、参数化预编译防御

    相关学习资料 http://zh.wikipedia.org/wiki/Java数据库连接 http://lavasoft.blog.51cto.com/62575/20588 http://blog ...

  10. Java JDBC批处理插入数据操作

    在此笔记里,我们将看到我们如何可以使用像Statement和PreparedStatement JDBC API来批量在任何数据库中插入数据.此外,我们将努力探索一些场景,如在内存不足时正常运行,以及 ...

随机推荐

  1. stack计算表达式的值

    9.52 使用stack对象处理带圆括号的表达式.遇到左圆括号时,将其标记下来.当你在一个左括号之后遇到右圆括号时,弹出stack对象中这两边括号之间的元素,直到遇到左括号,将左括号也一起弹出栈. 接 ...

  2. QT显示输出及其桌面

      /* 应用程序桌面 */ QDesktopWidget* desktop = QApplication::desktop(); /* 指定显示器的屏幕尺寸(1024 * 768) */ QRect ...

  3. iOS开源项目推荐|下拉刷新

    MJRefresh - 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明. CBStoreHouseRefresh ...

  4. 安装完Kali linux 之后 需要配置的一些 常用软件 记录

    apt 阿里云开源镜像站 deb http://mirrors.aliyun.com/kali sana main non-free contribdeb http://mirrors.aliyun. ...

  5. magento搜索属性值的设置方法

    前台特性(Frontend Properties)在快速搜索中应用(Use in quick search) - 开启此选项,在客户使用Header中的 搜索功能时Magento将搜索所有产品这个At ...

  6. 纯js写图片轮播插件

    最近终于写成了自己创作的图片轮播插件,使用原生js编写.与目前网上流行的轮播插件相比,功能和效果稍弱,但是使用起来相当方便. 先看html代码 <!DOCTYPE html> <ht ...

  7. Sublime Text2配置python环境

    1.下载python并安装     地址:https://www.python.org/downloads/ 2.下载Sublime Text2 并安装     地址:http://www.subli ...

  8. 安装完oracle重新启动后报ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务(重启前正常)

    安装完oracle重新启动后报ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务(重启前正常) 刚安装完后用plSql登录正常. 在dos命令行下 输入  sqlplus 用户 ...

  9. C#基础整理

    元旦整理书架发现一本小册子——<C#精髓>中国出版社2001年出版的,粗略翻了下关于C#的知识点挺全的虽然内容谈得很浅也有很多过时的内容(话说这本书是我在旧书店花5块钱淘的)我保留原有章节 ...

  10. scrapy抓取到中文,保存到json文件为unicode,如何解决.

    http://scrapy-chs.readthedocs.org/zh_CN/latest/intro/overview.html 以上链接是很好的scrapy学些资料.感谢marchtea的翻译. ...