使用Java实现数据库编程-Lesson7-JDBC



 

JDBC简介

 

Java是通过JDBC技术实现对各种数据库访问的,JDBCJava数据库连接技术的简称,他充当了Java应用程序与各种不同数据库之间进行对话的媒介。它可以把数据持久保存,这就是一种持久化机制,这里涉及一个术语,持久化,持久化是将程序中的数据在瞬时状态和持久状态间转换的机制。通俗的讲,就是瞬时数据(如内存中的数据,不能永久保存)持久化为持久数据(如持久化至数据库中,能够长久保存)。

 

JDBC的工作原理

 

1JDBC API

 

提供Java应用程序与各种不同数据库交互的标准接口,如Connection(连接)接口,Statement接口,ResultSet(结果集)接口,PreparedStatement接口等。开发者使用这些JDBC接口进行各类数据库操作。

 

2JDBC Driver Manager

 

它是JDBC接口的支柱,负责管理各种不同的JDBC驱动,把Java应用程序连接到相应的JDBC驱动程序上,位于JDKjava.sql包中,

 

3JDBC驱动

 

JDBC驱动由各个数据库厂商或第三方中间件厂商提供,负责连接各种不同的数据库。

 

JDBC API介绍

 

JDBC API主要做三件事,与数据库建立连接,发送sql语句,处理结果。

DriverManager类:装载驱动程序,并为创建新的数据库连接提供支持。

Connection接口:负责连接数据库并担任传送数据的任务。

Statement接口:由Connection 产生,负责执行SQL语句。

ResultSet接了:负责保存和处理Statement执行后所产生的查询结果。

PreparedStatement接口:Statement的子接口,也由Connection产生。,同样负责执行SQL语句,与Connection接口相比,PreparedStatement接口具有高安全性,高性能,高可读性和高可维护性的优点。

 

 

JDBC访问数据库的步骤

 

1、加载JDBC驱动

Class.forName("JDBC驱动类的名称");

2、与数据库建立连接

Connection conn=DriverManager.getConnection(数据连接字符串,数据库用户名,密码);

3、发生SQL语句,并得到返回结果

Statement st=conn.createStatement();

ResultSet rs=st.executeQuery("查询SQL的语句");

4、处理放回结果

while(rs.next())

{

 int id=rs.getInt("id");

 String name=rs.getString("name");

}

 

 

Statement接口和Result接口

 

Connection接口的常用方法

 

方法名称

作用

void close()

立即释放此Connection对象的数据库和JDBC资源

Statement createStatement()

创建一个Statement对象来将SQL语句发送到数据库

PreparedStatement  PreparedStatement(String sql)

创建一个PreparedStatement对象来将参数化的SQL语句发送到数据库

boolean isClosed()

查询此Connection对象是否已经被关闭

 

Statement接口常用方法

方法名称

作用

ResultSet executeQuery(String sql)

可以执行SQL查询并获取ResultSet对象

int executeUpdate(String sql)

可以执行插入、删除、更新的操作,返回值是执行该操作所影响的行数

boolean execute(String sql)

可以执行任意SQL语句,若结果为ResultSet对象,则返回true,若其为更新计数或不存在任何结果,则返回false.

 

PreParedStatement接口

 

PreparedStatement接口继承自Statement接口,PreparedStatement比普通Statement对象使用起来更加灵活,更有效率。

 

PreParedStatement接口常用方法

方法名称

作用

boolean execute()

在此PreParedStatement对象中执行SQL语句,如结果是Result对象,则返回true,如果结果是更新计数或者没结果,则返回false

ResultSet executeQuery()

在此PreParedStatement对象中执行SQL查询,并返回该查询生成的ResultSet对象

int executeUpdate()

在此PreParedStatement对象执行SQL语句,该语句必须是DML语句,如Insertupdatedelete语句,或是无返回内容的sql语句,如DDL语句,返回值是执行该操作所影响的行数。

void setInt(int index,int x)

将指定参数设置为给定Java int值,设置其他类型参数的方法与此类型。

void setObject(int index,Object x)

使用给定对象设置指定参数的值。

 

 

使用PreParedStatement操作数据库的基本步骤

 

1、创建PreParedStatement对象

通过Connection接口的PreParedStatement(String sql)方法来创建PreParedStatement对象,SQL语句可具有一个或多个参数。

PreParedStatement pst=conn.PreParedStatement("sql语句");

 

2、设置每个输入参数的值

pst.setInt(要设置参数的序数位置,设置给参数的值);

 

3、执行SQL语句

pst.executeUpdate();

展开阅读全文

没有更多推荐了,返回首页