JDBC------Java连接数据库的技术

JDBC------Java连接数据库的技术

一,定义
1,JDBC(Java Database Connectivity,Java数据库连接,简称JDBC),是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
2,对于任意程序来说,对特定数据库的访问操作,其实都离不开数据库引擎的本地操作
3,JDBC驱动程序担当了一个翻译器的角色,将用户的旨意翻译并传达给底层数据库引擎以执行
4,由于数据库产品的底层实现的区别,不同的数据库拥有不同的JDBC驱动程序。为了便于管理,JDBC提供一个java.sql.Driver接口,各个数据库厂商根据自己数据库产品的特点来实现这个接口,提供驱动程序。
5,写程序的时候,只需要将数据库的对应驱动加载,通过标准接口来访问各种数据库即可,如果数据库平台换了,仅仅需要将驱动换掉就可以了,其他代码基本无需修改。
二,JDBC驱动程序类型
类型1:“JDBC-ODBC bridge driver”,JDBC-ODBC桥驱动程序
类型2:“native-API,partly Java driver driver,将JDBC调用转换为特定的数据库调用。
类型3:“JDBC-Net pure Java driver" ,它能将JDBC的调用转换为独立于数据库的网络协议。
类型4:“native protocol, pure Java driver”,它能将JDBC调用转换为数据库直接使用的网络协议。
在这里插入图片描述
三,JDBC API
JDBC API由核心Java API和扩展Java API两部分组成。核心API位于java.sql包中,包括建立DBMS连接和访问DBMS数据所需的基本Java数据对象﹔扩展API位于javax.sql包中,是J2EE的一部分,包括一些JDBC高级特性(如数据库连接池管理),以及与JNDI进行交互的Java数据对象。
Java程序使用JDBC API来访问JDBC驱动程序,JDBC驱动程序再把这些访问消息翻译成能被DBMS理解和处理的底层消息,并完成交互
Java.sql包常用的接口/类如下:
1,DriverManager:依据数据库的不同,管理JDBC驱动。
DriverManager类用于获得数据库连接,它所有的成员都是静态成员,所以在程序中无须对它进行实例化,直接通过类名就可以访问它。
DriverManager类是JDBC的管理层,作用于用户的驱动程序间。
2,Connection:负责连接数据库并担任传送数据的任务。
Connection对象是为我们与数据存储提供连接的对象,但这并非Connection对象的全部功能。除了存储连接的细节外(比如数据存储的类型,以及其支持的特性),也可以利用Connection对象运行命令。
3,Statement:由Connection产生、负责执行SQL语句。
Statement 对象用于将 SQL语句发送到数据库中。实际上有三种 Statement对象,它们都作为在给定连接上执行SQL语句的包容器:Statement、PreparedStatement(继承 Statement)和CallableStatement(继承PreparedStatement)。它们都专用于发送特定类型的SQL语句:
Statement对象用于执行不带参数的简单SQL语句;
PreparedStatement 对象用于执行带或不带IN参数的预编译SQL语句;
CallableStatement 对象用于执行对数据库存储过程的调用。
4,ResultSet:负责保存Statement执行后所产生的查询结果。
装载查询结果。ResultSet包含符合SQL语句中条件的所有行,且它通过一套get方法(这些get方法可以访问当前行中的不同列)提供了对这些行中数据的访问。记录是一张二维表,其中有查询所返回的列标题及相应的值。类似于下图
在这里插入图片描述
5,PreparedStatement
当SQL语句将运行许多次时,使用PreparedStatement对象性能更好(SQL 语句可以预编译,第一次执行后,后续执行不需要再编译与使用Statement对象多次运行同一条语句(在每次运行语句时都要对其进行编译)相比,此方法效率更高。
PreparedStatement对象中包含的SQL语句可能有一个或多个IN参数。
6,SQLException
SQLException类是Exception类的子类,它提供关于数据库访问错误或其他错误的信息。
四,使用直连操作数据库
1,加载数据库驱动
2,获得连接
3,使用Connection创建PreparedStatement语句对象
4,使用Preparedstatement对象执行SQL语句
5,对结果集ResultSet进行操作
6,回收资源
五,总结
JDBC API提供了对数据库进行操作的接口
使用直连将提高数据库访问的性能
PreparedStatement是预编译的语句
JDBC支持事务、批处理、存储过程
可以使用属性文件来隔离java代码与数据库配置
六,实例展示:
在Java中使用JDBC连接数据库的实例操作

猜你喜欢

转载自blog.csdn.net/tan1024/article/details/110876087