Java JDBC基础教程:数据库CRUD与DAO设计

需积分: 11 4 下载量 115 浏览量 更新于2024-07-18 收藏 3.49MB PDF 举报
"JDBC笔记概述了Java数据库连接(JDBC)的基本概念,包括数据持久化、JDBC的使用方式以及其在Java中扮演的角色。笔记还提到了JPA(Java Persistence API)作为JavaEE规范,以及JDBC作为其他ORM工具(如Hibernate、MyBatis)的基础。" 在Java开发中,数据持久化是一个关键的概念,它涉及到如何将内存中的数据保存到不可挥发的存储介质,如硬盘,以便在后续使用中仍能访问。通常,持久化数据会存储在关系型数据库中,如MySQL或Oracle,但也可能以文件或XML的形式存在。JPA(Java Persistence API)是JavaEE的一项规范,它的目标是提供一种标准的方式来处理对象与数据库之间的映射,Hibernate是实现JPA的一个流行框架,支持XML配置和注解两种方式。 JDBC(Java Database Connectivity)是Java语言访问数据库的标准接口,由一组类和接口构成,允许开发者执行SQL语句并访问多种关系数据库。它为数据库访问提供了统一的接口,降低了不同数据库系统之间的迁移成本。JDBC的使用方式有两种:直接使用JDBC API与数据库交互,或者通过像Hibernate和MyBatis这样的第三方O/R Mapping工具,它们在底层仍然依赖于JDBC,但提供了更高层次的抽象,简化了数据库操作。 JDBC的主要作用是作为数据库连接的抽象层,它为开发者提供了一种基准,使得程序员无需深入了解特定数据库系统的细节就能进行数据库操作,从而加速了开发进程。通过JDBC,开发者可以编写与数据库无关的应用程序,只需关注业务逻辑,而数据库的连接、事务管理、结果集处理等底层细节则由JDBC负责。 JDBC的核心组件包括DriverManager、Connection、Statement、PreparedStatement和ResultSet等。DriverManager负责加载数据库驱动并建立连接;Connection对象代表与数据库的会话;Statement和PreparedStatement用于执行SQL语句,后者支持预编译的SQL,能有效防止SQL注入;ResultSet则用于存储查询结果。此外,JDBC还支持事务控制,提供CallableStatement用于调用存储过程,以及DatabaseMetaData获取数据库元数据等功能。 总结来说,JDBC是Java与数据库通信的基础,为开发者提供了统一且灵活的接口,便于进行CRUD(创建、读取、更新、删除)操作,同时为更高级的ORM工具提供了底层支持,是Java数据库编程的重要组成部分。理解并熟练掌握JDBC对于任何Java开发者来说都是至关重要的,尤其是处理企业级应用时,数据持久化的需求更为常见。
309 浏览量
一、概述: JDBC从物理结构上说就是Java语言访问数据库的一套接口集合。从本质上来说就是调用者(程序员)和实现者(数据库厂商)之间的协议。JDBC的实现由数据库厂商以驱动程序的形式提供。JDBC API 使得开发人员可以使用纯Java的方式来连接数据库,并进行操作。 ODBC:基于C语言的数据库访问接口。 JDBC也就是Java版的ODBC。 JDBC的特性:高度的一致性、简单性(常用的接口只有4、5个)。 1.在JDBC中包括了两个包:java.sql和javax.sql。 ① java.sql 基本功能。这个包中的类和接口主要针对基本的数据库编程服务,如生成连接、执行语句以及准备语句和运行批处理查询等。同时也有一些高级的处理,比如批处理更新、事务隔离和可滚动结果集等。 ② javax.sql 扩展功能。它主要为数据库方面的高级操作提供了接口和类。如为连接管理、分布式事务和旧有的连接提供了更好的抽象,它引入了容器管理的连接池、分布式事务和行集等。 注:除了标出的Class,其它均为接口。 API 说明 java.sql.Connection 与特定数据库的连接(会话)。能够通过getMetaData方法获得数据库提供的信息、所支持的SQL语法、存储过程和此连接的功能等信息。代表了数据库。 java.sql.Driver 每个驱动程序类必需实现的接口,同时,每个数据库驱动程序都应该提供一个实现Driver接口的类。 java.sql.DriverManager (Class) 管理一组JDBC驱动程序的基本服务。作为初始化的一部分,此接口会尝试加载在”jdbc.drivers”系统属性中引用的驱动程序。只是一个辅助类,是工具。 java.sql.Statement 用于执行静态SQL语句并返回其生成结果的对象。 java.sql.PreparedStatement 继承Statement接口,表示预编译的SQL语句的对象,SQL语句被预编译并且存储在PreparedStatement对象中。然后可以使用此对象高效地多次执行该语句。 java.sql.CallableStatement 用来访问数据库中的存储过程。它提供了一些方法来指定语句所使用的输入/输出参数。 java.sql.ResultSet 指的是查询返回的数据库结果集。 java.sql.ResultSetMetaData 可用于获取关于ResultSet对象中列的类型和属性信息的对象。