JDBC的六大步驟:
- 注冊驅動
- 獲取連接
- 獲取執行sql語句對象
- 執行sql語句
- 處理結果集
- 關閉資源
oracle URL:
jdbc:oracle:thin:@localhost:1521:SID
jdbc:oracle:thin:@//localhost:1521:SERVICENAME
MySQL URL:
jdbc:mysql://localhost:3306/數據庫名稱
thin:小型驅動,驅動方式
localhost 本機ip地址 127.0.0.1
SID:數據庫的SID
SERVICENAME
:數據庫的SID
兩種常用連接方式
代碼:
package cn.zhisheng.test.jdbc; import oracle.jdbc.driver.OracleDriver; import java.sql.*; import java.util.Properties; /** * Created by 10412 on 2016/12/27. * JDBC的六大步驟 * JAVA連接Oracle的三種方式 */ public class JdbcTest { public static void main(String[] args) { Connection connect = null; Statement statement = null; ResultSet resultSet = null; try { //第一步:注冊驅動 //第一種方式:類加載(常用) //Class.forName("oracle.jdbc.OracleDriver"); //第二種方式:利用Driver對象 Driver driver = new OracleDriver(); DriverManager.deregisterDriver(driver); //第二步:獲取連接 //第一種方式:利用DriverManager(常用) //connect = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "你的oracle數據庫用戶名", "用戶名密碼"); //第二種方式:直接使用Driver Properties pro = new Properties(); pro.put("user", "你的oracle數據庫用戶名"); pro.put("password", "用戶名密碼"); connect = driver.connect("jdbc:oracle:thin:@localhost:1521:XE", pro); //測試connect正確與否 System.out.println(connect); //第三步:獲取執行sql語句對象 //第一種方式:statement //statement = connect.createStatement(); //第二種方式:PreStatement PreparedStatement preState = connect.prepareStatement("select * from tb1_dept where id = ?"); //第四步:執行sql語句 //第一種方式: //resultSet = statement.executeQuery("select * from tb1_dept"); //第二種方式: preState.setInt(1, 2);//1是指sql語句中第一個?, 2是指第一個?的values值 //resultSet = preState.executeQuery(); //執行查詢語句 //查詢任何語句,如果有結果集,返回true,沒有的話返回false,注意如果是插入一條數據的話,雖然是沒有結果集,返回false,但是卻能成功的插入一條數據 boolean execute = preState.execute(); System.out.println(execute); //第五步:處理結果集 while (resultSet.next()) { int id = resultSet.getInt("id"); String name = resultSet.getString("name"); String city = resultSet.getString("city"); System.out.println(id+" "+name+" "+city); //打印輸出結果集 } } catch (Exception e) { e.printStackTrace(); }finally { //第六步:關閉資源 try { if (resultSet!=null) resultSet.close(); if (statement!=null) statement.close(); if (connect!=null) connect.close(); } catch (SQLException e) { e.printStackTrace(); } } } }