JDBC的原理及应用

一、JDBC作用
JDBC(Java DataBase Connectivity)就是Java数据库连接,简单说就是封装了java语言操作不同据库(例如:mysql,oracle、sqlServer等数据库)的接口,各个数据库厂商实现这个接口。因此java语言可以通过JDBC操作各个数据库。

在这里插入图片描述

二、JDBC的工作原理

SUN提供一套访问数据库的规范(就是一组接口),并提供连接数据库的协议标准
各个数据库厂商会提供一套API用来访问自己公司的数据库服务器,且API遵循SUN的规范

JDBC是里面封装着操作各数据库的接口,而JDBC驱动才是接口的实现,没有驱动无法完成数据库连接!每个数据库厂商都有自己的驱动,用来连接自己公司的数据库。

 三、JDBC API:
1.DriverManager类 作用:管理各种不同的JDBC驱动
2.Connection接口:负责连接数据库并担任传送数据的任务
3.Statement接口:由 Connection 产生、负责发送执行SQL语句
4.ResultSet接口:负责保存Statement执行后所产生的查询结果

四、JDBC 驱动

由数据库厂商提供

作用:负责连接各种不同的数据库

五、API与驱动作用:

与数据库建立连接、发送 操作数据库的语句并处理结果

六、使用JDBC连接数据库的步骤 

1、加载一个Driver驱动
  调用方法java.lang.Class.forName()加载驱动:
  以mysql为例:
  Class.forName(“com.mysql.JDBC.Driver”);//MySql的8.X版本以下的JDBC驱动程序
  Class.forName(“com.mysql.cj.JDBC.Driver”);//MySql的8.X版本以上的JDBC驱动程序
  其他数据库驱动:
  oracle.JDBC.driver.OracleDriver//Oracle的JDBC驱动程序
  com.microsoft.JDBC.sqlserver.SQLServerDriver//SQL Server的JDBC驱动程序
  com.ibm.db2.JDBC.app.DB2Driver //DB2的JDBC驱动程序

2、创建连接(需要数据库用户名、密码、url)
  Connection conn=null;
  String url=“jdbc:oracle:thin:@localhost:1521:orcl”;
  String user=“scott";
  String password=“tiger";
  conn = DriverManager.getConnection(url, user, password);

3、创建SQL命令执行器Statement
  Statement对象用于将 SQL 语句发送到数据库中,或者理解为执行sql语句。
  有三种 Statement对象:
  Statement:用于执行不带参数的简单SQL语句;
  PreparedStatement(从 Statement 继承):用于执行带或不带参数的预编译SQL语句;(推荐使用)
  CallableStatement(从PreparedStatement 继承):用于执行数据库存储过程的调用。

4、通过Statement发送SQL命令并处理SQL结果
  ResultSet对象是executeQuery()方法的返回值,它被称为结果集,它代表符合SQL语句条件的所有行,并且它通过一套getXXX方法(这些get方法可以访问当前行中的不同列)提供了对这些行中数据的访问。
  ResultSet里的数据一行一行排列,每行有多个字段,且有一个记录指针,指针所指的数据行叫做当前数据行,我们只能来操作当前的数据行。我们如果想要取得某一条记录,就要使用ResultSet的next()方法 ,如果我们想要得到ResultSet里的所有记录,就应该使用while循环。
  ResultSet对象自动维护指向当前数据行的游标。每调用一次next()方法,游标向下移动一行。
  初始状态下记录指针指向第一条记录的前面,通过next()方法指向第一条记录。循环完毕后指向最后一条记录的后面。
  
5、关闭数据库资源
  用户不必关闭ResultSet。当它的 Statement 关闭、重新执行或用于从多结果序列中获取下一个结果时,该ResultSet将被自动关闭。
  注意:要按先ResultSet结果集,后Statement,最后Connection的顺序关闭资源,因为Statement和ResultSet是需要连接是才可以使用的,所以在使用结束之后有可能其他的Statement还需要连接,所以不能先关闭Connection。
 

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值