从今以后准备把自己学的知识总结到自己的博客,希望大家指出我的错误,让我也能和大家一起进步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:注册驱动有几种方法,不过我感觉掌握住这一种就可以了。