1.什么是JDBC
JDBC的全称是Java数据库连接( Java Database Connectivity),它是一套用于 执行SQL语句的Java API。应用程序可通过这套API连接到关系型数据库,并使用SQL语句来完成对数据库中数据的查询、更新、新增和删除的操作。
应用程序使用JDBC访问数据库的方式如下图:
从上图中可以看出,JDBC在应用程序与数据库之间起到一个桥梁作用。
2.实现第一个JDBC程序
1.加载并注册数据库驱动,具体方式如下:
DriverManager.registerDriver(Driver driver); //两次注册
或 Class.forName("DriverName"); //一次注册
2.通过DriverManager获取数据库连接,具体方式如下:
Connection conn=DriverManager.getConnection(String url,String user,String pwd);
从上述代码可以看出,getConnection()有三个参数,分别表示连接数据库的URL地址,登录数据库的用户名和密码。URL地址的书写格式:jdbc:mysql://hostname:port/databasename
jdbc:mysql:是固定写法, mysql指的是MySQL数据库,hostname指的是主机名称(hostname可以是localhost或127.0.0.1),port指的是连接数据库的端口号,databasename指的是MySQL中相应数据库的名称。
3.通过Connection对象获取Statement对象
Connection创建Statement的方式有:
(1)createStatement():创建基本都Statement对象
(2)prepareStatement():创建PrepareStatement对象
(3)prepareCall():创建CallableStatement对象
以创建基本Statement对象为例,创建方式如下:
Statement stmt=conn.createStatement();
4.使用Statement执行SQL语句
所有Statement都有的执行SQL语句的方法,如下:
(1)execute():可以执行任何SQL语句
(2)executeQuery():通常执行查询语句,执行后返回代表结果集的ResultSet对象
(3)executeUpdate():主要用于执行DML和DDL语句,执行DML语句,如INSERT、UPDATE或DELETE时,返回受SQL语句影响的行数,执行DDL语句返回0
以executeQuery()方法为例,使用方法如下:
//执行SQL语句,获取结果集
ResultSet rs=stmt.executeQuery(sql);
5.操作ResultSet结果集
若执行的SQL语句是查询语句,执行结果将返回一个ResultSet对象,该对象里保存了SQL语句查询的结果。
6.关闭连接,释放资源
每次操作数据库结束后都要关闭数据库连接,释放资源,包括关闭ResultSet、Statement和Connection等资源。
编写JDBC程序
在项目的chapter09的src目录下,创建一个cn.itcast.jdbc.example的包,在该包中创建类Example01,用于读取数据库中的users表,并将结果输出到控制台,如下:
package cn.itcast.jdbc.example;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax