1) 加载数据库驱动
通常我们使用Class类的forName()静态方法来加载驱动(由各个数据库厂商自己实现)
Class.forName("com.mysql.jdbc.Driver");
Class.forName("oracle.jdbc.driver.OracleDriver");
"com.mysql.jdbc.Driver"、"oracle.jdbc.driver.OracleDriver"代表了数据库驱动类对应的字符串
2) 通过DriverManager获取数据库连接
DriverManager.getConnection(String url, String user, String pass);
2.1) url: 数据库连接字符串
2.1.1) Mysql
jdbc:mysql://hostname:port/databasename
2.1.2) Oracle
jdbc:oracle:thin:@hostname:port:databasename
2.2) user: 数据库的系统用户名
2.3) pass: 数据库的系统密码
3) 通过Connection对象创建Statement对象,Connection创建Statement对象的方法有如下3个
3.1) createStatement(String sql):创建基本的Statement对象
3.2) prepareStatement(String sql): 根据传入的SQL语句创建预编译的Statement对象
3.3) prepareCall(String sql): 根据传入的SQL语句创建CallableStatement对象
4) 使用Statement执行SQL语句
所有的Statement都有如下3个方法来执行SQL语句
4.1) execute(): 可以执行任何SQL语句,但比较麻烦
4.2) executeUpdate(): 主要用于执行DML和DDL语句。执行DML语句返回受SQL影响的行数,执行DDL语句返回0
4.3) executeQuery(): 只能执行查询语句,执行后返回代表查询结果的ResultSet对象
5) 操作结果集
如果执行的SQL语句是查询语句,则执行结果将返回一个ResultSet对象,该对象里保存了SQL语句查询的结果。程序可以通过操作该ResultSet对象来取出查询结果。ResultSet对象主要提供了如
下方法
5.1) 移动记录指针的方法
5.1.1) next()
5.1.2) previous()
5.1.3) first()
5.1.4) last()
5.1.5) beforeFirst()
5.1.6) afterLast()
5.1.7) absolute()
5.2) 获取指针指向的某行的"特定的列值"
5.2.1) getInt()
5.2.2) getString()
...
该方法既可以使用列索引作为参数,也可以使用列名作为参数
6) 回收数据库资源
包括关闭ResultSet、Statement、Connection等资源