JDBC程式設計步驟
阿新 • • 發佈:2018-12-21
1.Load the Driver
1. Class.forName() | Class.forName().newInstance() | new DriverName()
2. 例項化時自動向DriverManager註冊,不需要顯式呼叫DriverManager.registerDriver方法
2.Connect to the DataBase
1. DriverManager.getConnection()
3.Execute the SQL
1. Connection.CreationStatement()
2.Statement.executeQuery()
3.Statement.executeUpdate()
4.Retrieve the result data
1. 迴圈去的結果 while(rs.next())
5.Show the result data
1. 將資料庫中的各種型別轉換為Java中的型別(getXXX)方法
6.Close
1.close the resultset. / close the statement / close the connection
實際操作中的知識點:
1.獲取安裝在本機上的oracle資料庫URL:
使用oracle,有一個tnsnames.ora
SOUJIUSUBDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-7ROL9EN)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SOUJIUSUBDB)
)
)
從這個條目可以看出我的jdbc連線字串是: jdbc:oracle:thin:@DESKTOP-7ROL9EN:1521:SOUJIUSUBDB
2.Java project中的oracle驅動包匯入
這個知識點非常簡單了,可以百度java project匯入oracle驅動包,有很多回答的說。但是有一點需要注意,oracle驅動包版本要和你的jdk版本相容。我的電腦上安裝的jdk版本是1.8,oracle用的是11g,那麼jdbc相對應的驅動包應該是ojdbc6.jar。
import java.sql.*;
public class TestJDBC {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
/**
* Class.forName("oracle.jdbc.driver.OracleDriver.class");
* 這句話為丟擲異常,這是為什麼??
*Exception in thread "main" java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver.class
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at TestJDBC.main(TestJDBC.java:8)
*/
new oracle.jdbc.driver.OracleDriver();
Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@DESKTOP-7ROL9EN:1521:SOUJIUSUBDB", "scott", "tiger"); //引數1:資料庫連線字串,引數2.3:使用者名稱和密碼
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("select * from dept");
while(resultSet.next()) {
System.out.println(resultSet.getString("deptno"));
System.out.println(resultSet.getInt("deptno"));
}
resultSet.close();
statement.close();
connection.close();
}
}