JDBC

JDBC

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java编写的类和接口组成。

JDBC为开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够使用java API编写数据库应用程序,并且可跨平台运行,并且不受数据库供应商的限制。


在开发java应用程序时,我们只需正确加载JDBC驱动,正确调用JDBC API,就可以进行数据库访问了。

JDBC API 介绍

DriverManager类:装载驱动程序,并为创建新的数据库连接提供支持。
Connertion接口:负责连接数据库并担任传送数据的任务。
Statement接口:由Connection提供,负责执行sql语句。
ResultSet接口:负责保存和处理Statement执行后所产出的查询结果
PreparedStatement接口:Statement的子接口,也由Connection产出,同时负责执行sql语句,与Statement接口相比,PreparedStatement接口具有高效性,高安全性,高可读性和高可维护性的优点。

JDBC访问数据库的步骤

1)加载JDBC驱动

使用class.forName()方法将给定的JDBC类加载到Java虚拟机中。

class.ForName("JDBC 驱动类的名称");
2)与数据建立连接

DRiverManger类是JDBC的管理层,作用于用户和驱动程序之间。DriverManager类跟中可用的驱动程序,并在数据库和相应的驱动程序之间建立连接
Connection conn=DriverManager.getConnection(数据连接字符串,数据库用户名,密码);  
3)发送SQL语句,并得到返回结果
建立连接,就使用该连接创建Statement接口的对象,并将SQL语句传递给它所连接的数据库,如果是查询操作,将放回类型为ResultSet的结果集,包含执行查询的结果。如果是其他操作,将根据调用方法的不同返回布尔值或操作影响的记录数目。

Statement stmt=conn.createStatement();  
ResultSet rs=stmt.executeQuery("SQL语句");  

4)处理返回结果
处理返回结果主要是正对查询操作的结果集,通过循环去除结果集中的每一条数据。
While(rs.next()){  
int id=rs.getInt("Id");  
String name=rs.getString("name");  
System.out.Println(id+name);  
}  
StateMent接口和ResultSet接口

Connection 接口常用方法

方法名称作用
void CLose()立即释放此Connection对象的数据库和JDBC资源 
Statement createStatement()创建一个Statement对象来将SQL语句发送到数据库
PreparedStatement prepareStatement(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

ResultSet接口常用方法及作用
方法名称作用
boolean next()将光标从当前位置向下移动一行
boolean previous()将光标从当前位置向上移动一行
void close()关闭ResultSet对象
int getInt(int columnIndex)以int的形式获取结果集当前行指定列号的值
int getInt(String columnLabel)以int的形式获取结果集当前行指定列名的值
float getFloat(int columnIndex)以float的形式获取结果当前行指定列号的值
float getFloat(String columnLabel)以float的形式获取结果当前行指定列名的值
String getString(int columnIndex)以String的形式获取结果当前行指定列号的值
String getString(String columnLabe;)以String的形式获取结果当前行指定列名的值
int getRow()得到光标当前所指的行号
boolean absolute(int row)光标移动到row指定的行


PreparedStatement接口

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

方法名称作用
boolean execute()在此PreparedStatement对象执行SQL语句,该语句可以是任何语句。
ResultSet executeQuery()在此PreparedStatement对象执行SQL语句 并返回该查询生产的ResultSet对象
int executeUpdate()在此PreparedStatement对象执行SQL语句,该语句必须是一个DML语句,如INSERT、UPDATE、DELETE语句:或者是无返回内容的语句 
void setInt(int index,int x)将指定参数设置为给定Java int 值,设置其他类型参数的方法与此类似。
void setObject(int index,Object x)使用给定对象设置指定参数的值

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值