Java SE 6 新特性: Java DB
和 JDBC 4.0
简介: 2006 年底,Sun
公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,
代号 Mustang
(野马)。跟 Tiger(Java SE 5)相比,Mustang
在性能 方面有了不错的提
升。与 Tiger
在 API
库方面的大幅度加强相比,虽然 Mustang
在 API 库方面的新特性显得不
太多,但是也提供了许多实用和方便的功能:在脚本,WebService,XML
,编译器 API,数
据库,JMX
,网络和 Instrumentation
方面都有不错的新特性和功能加强。本系列文章主要介
绍 Java SE 6 在 API
库方面的部分新特性,通过一些例子和讲解,帮助开发者在 编程实践当
中更好的运用 Java SE 6
,提高开发效率。本文是系列文章的第 5
篇,介绍了 Java SE 6 在数
据库编程方面的新特性。
长久以来,由于大量(甚至几乎所有)的 Java
应用都依赖于数据库,如何使用 Java 语
言高效、可靠、简洁地访问数据库一直是程序员们津津乐道的话题。新发布的 Java SE 6 也在这
方面更上层楼,为编程人员提供了许多好用的新特性。其中最显著的,莫过于 Java SE 6 拥有
了一个内嵌的 100%
用 Java
语言编写 的数据库系统。并且,Java 6
开始支持 JDBC 4.0 的
一系列新功能和属性。这样,Java SE 在对持久数据的访问上就显得更为易用和强大了。
Java DB:Java 6
里的数据库。新安装了 JDK 6 的程序员们也许会发现,除了传统的
bin、jre 等目录,JDK 6
新增了一个名为 db
的目录。这便是 Java 6 的新成员:Java DB。这是
一个纯 Java 实现、开源的数据库管理系统(DBMS
),源于 Apache 软件基金会(ASF
) 名
下的项目 Derby
。它只有 2MB
大小,对比动辄上 G
的数据库来说可谓袖珍。 但这并不妨碍
Derby
功能齐备,支持几乎大部分的数据库应用所需要的特性。 更难能可贵的是,依托于
ASF 强大的社区力量,Derby
得到了包括 IBM
和 Sun 等大公司以及全世界优秀程序员们的
支持。这也难怪 Sun 公司会选择其 10.2.2
版本纳入到 JDK 6 中,作为内嵌的数据库。这就好
像为 JDK 注入了一股全新的活力:Java 程序员不再需要耗费大量精力安装和配置数据库,就
能进行安全、易用、标准、并且免费的数据库编程。在这一章中,我们将初窥 Java DB 的世界,
来探究如何使用它编写出功能丰富的程序。
Hello, Java DB
:内嵌模式的 Derby
。 既然有了内嵌(embedded)的数据库,就让我
们从一个简单的范例(代码在 清 单 1 中列出)开始,试着使用它吧。这个程序做了大多数数
据库应用都可能会做的操作: DBMS
中创建了一个名为 helloDB
的数据库; 在 创建了一张
数据表, 取名为 hellotable
;向表内插入了两条数据;然后,查询数据并将结果打印在 控制
台上;最后,删除表和数据库,释放资源。
清单 1. HelloJavaDB
的代码
public class HelloJavaDB {
public static void main(String[] args) {
try { // load the driver
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstanc
e(); System.out.println("Load the embedded driver");
Connection conn = null;
Properties props = new Properties();
props.put("user", "user1");
props.put("password", "user1"); //create and connect the database