共计 1078 个字符,预计需要花费 3 分钟才能阅读完成。
一、什么是 JDBC
JDBC(Java DataBase Connectivity)就是 Java 数据库连接,说白了就是用 Java 语言来操作数据库。原来我们操作数据库是在控制台使用 SQL 语句来操作数据库,JDBC 是用 Java 语言向数据库发送 SQL 语句。
二、JDBC 原理
早期 SUN 公司的天才们想编写一套可以连接天下所有数据库的 API,但是当他们刚刚开始时就发现这是不可完成的任务,因为各个厂商的数据库服务器差异太大了。后来 SUN 开始与数据库厂商们讨论,最终得出的结论是,由 SUN 提供一套访问数据库的规范(就是一组接口),并提供连接数据库的协议标准,然后各个数据库厂商会遵循 SUN 的规范提供一套访问自己公司的数据库服务器的 API 出现。SUN 提供的规范命名为 JDBC,而各个厂商提供的,遵循了 JDBC 规范的,可以访问自己数据库的 API 被称之为驱动!
JDBC 是接口,而 JDBC 驱动才是接口的实现,没有驱动无法完成数据库连接!每个数据库厂商都有自己的驱动,用来连接自己公司的数据库。
当然还有第三方公司专门为某一数据库提供驱动,这样的驱动往往不是开源免费的!
三、JDBC 核心类(接口)介绍
JDBC 中的核心类有:DriverManager、Connection、Statement,和 ResultSet!
DriverManger(驱动管理器)的作用有两个:
注册驱动:这可以让 JDBC 知道要使用的是哪个驱动;
获取 Connection:如果可以获取到 Connection,那么说明已经与数据库连接上了。
Connection 对象表示连接,与数据库的通讯都是通过这个对象展开的:
Connection 最为重要的一个方法就是用来获取 Statement 对象;
Statement 是用来向数据库发送 SQL 语句的,这样数据库就会执行发送过来的 SQL 语句:
void executeUpdate(String sql):执行更新操作(insert、update、delete 等);
ResultSet executeQuery(String sql):执行查询操作,数据库在执行查询后会把查询结果,查询结果就是 ResultSet;
ResultSet 对象表示查询结果集,只有在执行查询操作后才会有结果集的产生。结果集是一个二维的表格,有行有列。操作结果集要学习移动 ResultSet 内部的“行光标”,以及获取当前行上的每一列上的数据:
boolean next():使“行光标”移动到下一行,并返回移动后的行是否存在;
XXX getXXX(int col):获取当前行指定列上的值,参数就是列数,列数从 1 开始,而不是 0。