[JDBC成长记录]jdbc的基本流程

来源:互联网 发布:淘宝天猫多久不能追评 编辑:程序博客网 时间:2024/06/05 17:15

从今以后准备把自己学的知识总结到自己的博客,希望大家指出我的错误,让我也能和大家一起进步0.0;

jdbc主要分为下面几个步奏,代码如下:

package statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;


public class TestStatement {


public static void main(String[] args) {
//1.定义sql语句和一些对象
String sql = "select employee_id, department_id, salary from employees";
Connection conn = null;
Statement sm = null;
ResultSet rs = null;
try {
//2.加载驱动,会自动向DriverManager注册,运用反射机制,以后博客里会说
Class.forName("oracle.jdbc.driver.OracleDriver");
//3.拿到链接,DriverManager的静态方法
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "tiger");
//4.创建Statement对象
sm = conn.createStatement();
//5.执行sql语句
rs = sm.executeQuery(sql);

while(rs.next()) {
System.out.print(rs.getString(1) + "  ");
System.out.print(rs.getString(2) + "  ");
System.out.print(rs.getInt(3));
System.out.println();
}
// System.out.println(conn);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
//6.关闭
if(rs != null) {
rs.close();

if(sm != null) {
sm.close();
}
if(conn != null) {
conn.close();
}
} catch(Exception e) {
e.printStackTrace();
}
}
}
}

注意:1:在默认情况下,同一时间每个 Statement 对象在只能打开一个 ResultSet 对象。因此,如果读取一ResultSet 对象与读取另一个交叉,则这两个对象必须是由不同的 Statement 对象生成的。如果存在某个语句的打开的当前 ResultSet 对象,则 Statement 接口中的所有执行方法都会隐式关闭它。以后还会使用PreparedStatement类

     2:注册驱动有几种方法,不过我感觉掌握住这一种就可以了。

0 0