转载请注明出处:http://www.blogjava.net/nake/
自从 java 发布的第一个版本开始就已经包含 JDBC 了。目前已经有 10 个年头了。 JDBC4.0将要被打包到 java6.0 里( java SE 是 J2SE 新的名字)。它展现设计的重大提升和提供更加丰富的 API ,更加重视简易开发和提高生产力 。
本文将讨论一些 JDBC 在改善设计和提高性能上的重要的变化。但是不能列举每一个变化。
注解和泛型
我想你已经了解了包含在 JAVA 5.0 的注解( annotations ) 和泛型( generic 也有翻译范型)。 JDBC4.0 也引进了注解和泛型 DataSet ,这使得执行 sql 语句和 SQL DML ( data manipulation language ) 定义变的简单。
在新的 API 里定义了一套 Query 和 DataSet 接口。 Query 接口定义了一套方法,这些方法描述了 SQL 的 select 和 update 语句。而且详细介绍了结果集如何绑定为一个 DataSet 的。因为泛型所以 DataSet 是可以带参数的。因此可以说 DataSet 接口是类型安全的( type-saft ).
所有 Query 接口都要从 BaseQuery 接口继承。可以通过 Connection.createQueryObject()
或者 DataSource.createQueryObject()
得到Query对象。
一个DataSet接口都继承java.util.List。
DataSet 是有列概念的数据集,能从 Query 接口得到,并且可以带有参数。 DataSet 可以在连接和断开连接的情况下使用。从而 DataSet实现了 ResultSet
(连接)
或者 CachedRowSet
(可以断开连接)。因为DataSet是java.util.List的子接口,所以可以通过java.util.Iterator来访问每一行。
DataSet
接口可以带系统或者用户自己定义的类作为参数。通过两种方法你可以实现:构造函数或者
JavaBeans 对象,任何一个办法都能达到将用户自定义的类绑定到结果集的列里。但是在其它支持 JavaBeans 的框架里,用 JavaBeans 对象的实现就显更加容易使用。
下面简单举例说明如何通过新的 API 创建和运行 SQL 查询。用用户自定义的类来定义结果集。(拷贝时候小心有制表符)
pubic class Employee {
private int employeeId;
private String firstName;
private String lastName;
public int getEmployeeId() {
return employeeId;
}
public setEmployeeId(int employeeId) {
this.employeeId = employeeId;
}
public String getFirstName() {
return firstName;
}
public setFirstName(String firstName) {
this.firstName = firstName;
}
pubic String lastName() {
return lastName;
}
public setLastName(String lastName) {
this.lastName = lastName;
}
}
interface EmployeeQueries extends BaseQuery {
@Select (sql="SELECT employeeId, firstName, lastName FROM employee")
DataSet<Employee> getAllEmployees ();
@Update (sql="delete from employee")
int deleteAllEmployees ();
}
Connection con = ...
EmployeeQueries empQueries = con.createQueryObject (EmployeeQueries.class);
DataSet<Employee> empData = empQueries.getAllEmployees ();
异常处理的增强:
1. 为 SQLException 分为两类 transient 和 non-transient 。
2. 支持连锁的异常。
3. 继承了 Iterable 接口。
因为继承了Iterable 所以你可以这样写:
catch(SQLException ex) {
for(Throwable t : ex) {
System.out.println("exception:" + t);
}
}
最后,注:hibernate 3.5已经添加了对JDBC4的支持
分享到:
相关推荐
《SQL Server 数据库连接的Java实现:sqljdbc4-4.0.jar详解》 在Java编程环境中,与数据库进行交互是常见的任务之一。对于使用Microsoft SQL Server作为后端数据库的项目,开发者通常需要一个合适的驱动程序来建立...
### JDBC简介 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,它可以为多种关系型数据库提供统一访问接口。JDBC由一组用Java语言编写的类和接口组成,使得开发人员能够通过标准的方法来连接...
一、SQLJDBC42简介 SQLJDBC42是微软SQL Server数据库与Java应用程序之间的桥梁,它实现了Java Database Connectivity (JDBC) API,遵循JDBC 4.2规范。该驱动提供了全面的功能,包括数据查询、事务管理、批处理以及...
一、sqljdbc41.jar简介 sqljdbc41.jar是Microsoft为Java应用程序提供的一种连接SQLServer数据库的Java Database Connectivity (JDBC)驱动程序。JDBC是Java平台的标准接口,它允许Java应用程序通过Java代码与各种...
4. **易用性**:JDBC的API更符合Java的编程风格,而ODBC的API是C语言风格,对Java开发者来说可能不够直观。 **总结:** JDBC和ODBC都是数据库连接的桥梁,允许应用程序与不同的数据库系统通信。JDBC是Java语言的一...
4. **纯JDBC驱动**: - **简介**:完全基于Java编写,无需任何中间层。 - **优缺点**:性能最好,易于部署,是目前最常用的驱动类型。 #### 三、JDBC API详解 - **`java.sql`包和`javax.sql`包**:这两个包包含...
- JDK 1.6带来了JDBC 4.0,虽然支持JDBC 4的方法有限,但仍然具有一定的实用性。 - 这一版本的驱动可以编译,但大多数新方法都被简化或废弃。 - 尽管如此,JDBC 4.0还是为未来的版本奠定了基础,并引入了一些新的...
一、Spring JDBC简介 Spring JDBC模块是Spring框架的一部分,它简化了数据库访问,提供了高级抽象层,避免了直接编写繁琐的JDBC代码。Spring JDBC提供了一个模板类`JdbcTemplate`,它封装了数据库连接的创建、关闭...
4. **控制器和视图**:分析Controller类,理解它们如何处理HTTP请求并返回视图。同时,研究视图是如何被渲染的,可能涉及到JSP、Thymeleaf或其他视图技术。 5. **JDBC操作**:研究如何使用Spring的JDBC模板执行SQL...
- 在系统的环境变量中,将JDBC驱动的路径添加到`CLASSPATH`中,例如:`D:\Program Files\Microsoft SQL Server\sqljdbc_4.0\enu\sqljdbc4.jar`。 - 这一步是为了让Java运行时能够识别并加载所需的JDBC驱动类。 **4....
#### 一、JDBC简介 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了高度的抽象层,使得开发人员能够...
### DB2 JDBC驱动程序及其支持的功能简介 #### 一、JDBC驱动程序概述 随着JAVA技术的广泛应用,越来越多的企业选择使用JAVA程序来访问数据库。为了实现这一目标,必须借助JDBC(Java Database Connectivity)驱动...
#### 三、JDBC简介 JDBC是一种由Java编写的API,旨在使Java程序能够执行SQL语句并与关系数据库进行交互。它由一系列类和接口组成,遵循统一的标准,允许开发者编写一次代码即可跨平台和跨数据库使用。 1. **目标**...
4. CartServlet:管理购物车,添加、删除商品,计算总价。 5. OrderServlet:处理订单创建,更新库存,生成订单详情。 除了JDBC和Servlet,此项目可能还涉及到其他技术,如HTML、CSS和JavaScript来构建用户界面,...
【JDBC 简介】 JDBC(Java Database Connectivity)是Java编程语言中用于与关系数据库交互的一种标准接口。它的出现使得开发人员可以使用Java语言来处理各种数据库,无需关心不同数据库之间的具体差异。JDBC提供了...
**一、JDBC简介** JDBC(Java Database Connectivity)是Java编程语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。它是Java平台的标准部分,允许程序员以一种标准...
- **Type 4 (纯Java实现的本地JDBC驱动)**: 这是最常用的驱动类型,完全由Java实现并且直接与数据库通信,无需额外的客户端驱动。适用于那些不需要经常更换数据库的系统。 #### 二、Hibernate概述 **2.1 Hibernate...
一、Hive JDBC简介 Hive JDBC是Hive与SQL兼容的数据库访问接口,它遵循JDBC规范,允许任何支持JDBC的编程语言(如Java、Python等)连接到Hive服务器,执行查询并获取结果。Hive JDBC提供了诸如建立连接、发送SQL语句...
1. **Greenplum数据库简介** Greenplum是一种开源、分布式的关系型数据库管理系统,特别设计用于处理海量数据。它基于PostgreSQL,但扩展了MPP(大规模并行处理)架构,使得数据处理速度大幅提升。在大数据场景下,...
**JDBC(Java Database Connectivity)简介** JDBC是Java编程语言中用来规范客户端程序如何访问数据库的应用程序接口,由Sun Microsystems公司开发并提供,现在属于Oracle公司的产品。它为Java程序员提供了一种标准...