JDBC、增删改查

JDBC

1579081871336_JDBC实现细节.jpg

- JDBC全称Java Database Connectivity (数据库连接)
- JDBC可以通过载入不同的数据库的“驱动程序”而与不同的数据库进行连接。
​
使用的驱动不同,即可连接不同的数据库。
使用同一套操作来操作不同的数据库
如果每一个数据库java都制订一套连接方式,那么当不同的数据库更新的时候,java也需要更新自己的代码,而使用jdbc,使用同一套代码来操作,使用不同的驱动程序(驱动程序由数据库厂商提供)来连接,这使得可以连接不同的数据库。
JDBC的实现包括三部分。
(1)JDBC驱动管理器:负责注册特定的JDBC驱动器,主要通过java.sql. Driver Manager类实现。
(2)JDBC驱动器API:由Sun公司负责制定,其中最主要的接口是java.sql. Driver接口。
(3)JDBC驱动器:它是一种数据库驱动,由数据库厂商创建,也称为JDBC驱动程序JDBC驱动器实现了JDBC驱动器API,负责与特定的数据库连接,以及处理通信细节。

JDBC常用API

JDBC是什么?jdbc常用API有哪些?

1.Driver接口

Driver接口是所有JDBC驱动程序必须实现的接口,该接口专门提供给数据库厂商使用。在编写JDBC程序时,必须要把指定数据库驱动程序或类库加载到项目的classpath中。

1579081881999_01DriverManager类方法.jpg

2.DriverManager类

Driver Manager类用于加载JDBC驱动并且创建与数据库的连接。在Driver Manager类中,定义了两个比较重要的静态方法。如表所示:
registerDriver(Driver driver)
该方法用于向 DriverManager中注册给定的JDBC驱动程程序
getConnection(String url,String user,String pwd)
该方法用于建立和数据库的连接,并返回表示连接的 Connection对象

1579081881999_01DriverManager类方法.jpg

3.Connection接口

Connection接口代表Java程序和数据库的连接,在Connection接口中,定义了一系列方法,具体如表所示。
getMetaData()
该方法用于返回表示数据库的元数据的 DatabaseMetaData对象
createStatement()
用于创建一个Statement对象来将SQL语句发送到数据库
prepareStatement(String sql)
用于创建一个PreparedStatement对象来将参数化的SQL语句发送到数据库
prepareCall(String sql)
用于创建一个CallableStatement对象来调用数据库存储过程

1579081891751_02connection接口.jpg

4.Statement接口

Statement接口用于向数据库发送SQL语句,在Statement接口中,提供了三个执行SQL语句的方法,具体如表所示。
execute(String sql)
用于执行各种SQL语句,该方法返回一个boolean类型的值,如果为true,表示所执行的SQL语句具备查询结果,可通过Statement的getResultSet方法获得查询结果。
executeUpdate(String sql)
用于执行SQL中的Insert、update和delete语句。该方法返回一个int类型的值,表示数据库中受该SQL语句影响的记录的数目。
executeQuery(String sql)
用于执行SQL中的select语句,该方法返回一个表示查询结果的ResultSet对象

1579081902447_03Statement接口.jpg

5.PreparedStatement接口

PreparedStatement是Statement的子接口,用于执行预编译的SQL语句。在PreparedStatement接口中,提供了一些基本操作的方法,具体如表下所示。
executeUpdate()
在此PreparedStatement对象中执行SQL语句,该语句必须是个DML语句或者是无返回内容的SQL语句,比如DDL语句。
executeQuery()
在此PreparedStatement对象中执行SQL查询,该方法返回的ResultSet对象
setInt(int parameterIndex, int x)
将指定参数设置为给定的int值
setFloat(int parameterIndex, float x)
指定参数设置为给定的float值
setString(int parameterIndex, String x)
将指定参数设置为给定的String值
setDate(int parameterIndex, Date x)
将指定参数设置为给定的Date值
addBatch()
将一组参数添加到此PreparedStatement对象的批处理命令中
setCharacterStream(parameterIndex, reader, length)
将指定的输入流写入数据库的文本字段
setBinaryStream(parameterIndex, x, length)
将二进制的输入流数据写入到二进制字段中
需要注意的是,上表中的setDate()方法可以设置日期内容,但参数Date的类型是java.sq.Date,而不是java.util.Date。

1579081913409_04PreparedStatement接口.jpg

6.ResultSet接口

ResultSet接口表示 select查询语句得到的结果集,该结果集封装在一个逻辑表格中。在 ResultSet接口内部有一个指向表格数据行的游标,ResultSet对象初始化时,游标在表格的第一行之前。下表中列举了ResultSet接口中的常用方法。
getString(int columnIndex)
用于获取指定字段的String类型的值,参数columnIndex代表字段的索引
getString(String columnName)
用于获取指定字段的String类型的值,参数column Name代表字段的名称
getInt(int columnIndex)
用于获取指定字段的int类型的值,参数columnIndex代表字段的索引
getInt(String columnName)
用于获取指定字段的int类型的值,参数columnName代表字段的名称
getDate(int columnIndex)
用于获取指定字段的Date类型的值,参数columnIndex代表字段的索引
getDate(String columnName)
用于获取指定字段的Date类型的值,参数column Name代表字段的名称
next()
将游标从当前位置向下移一行
absolute(int row)
将游标移动到此Resultset对象的指定行
afterLast()
将游标移动到此ResultSet对象的末尾,即最后一行之后
beforeFirst()
将游标移动到此Resultset对象的开头,即第一行之前
previous()
将游标移动到此ResultSet对象的上一行
last()
将游标移动到此ResultSet对象的最
从上表中可以看出,ResultSet接口中定义了大量的getXxx()方法,采用哪种getXxx()方法取决于字段的数据类型。程序既可以通过字段的名称来获取指定数据,也可以通过字段的索引来获取指定的数据,字段的索引是从1开始编号的。

1579081951330_06ResultSet.jpg

Sql语句

查询

 select 列名 from 表明 [where 条件]

增删改

增加 
insert  into  表名 (列名1,列名2)   values (值1,值2)
删除
delete form 表名 [where 条件]
修改
update 表名 set 列名=值,列名=值 [where 条件]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LeeGaKi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值