Java連線Oracle資料庫的三種連線方式
背景:
這兩天在學習Oracle資料庫,這裡就總結下自己上課所學的知識,同時記錄下來,方便整理當天所學下的知識,也同時方便日後自己查詢。
SQL語句的話,這裡我就不多講了,感覺和其他的資料庫(MySQL、SQL Server)都是類似,區別不大。
今天在這裡就寫下 Java 連線 Oracle 資料庫的三種連線方式。
工具:
- Oracle Database 10g Express Edition
- cmd命令視窗
- IDEA 2016.1.3
- ojdbc6_g.jar(資料庫驅動包)
- jdk 1.8
建立資料庫表:
首先在本地寫好建立的資料庫表的建立程式碼後,然後貼上在cmd命令視窗下,即可建立成功。(前提是進入安裝好了oracle,進入了使用者,然後在當前使用者下建立這個表)
部門表:tb1_dept (含有id name city三個屬性)
create table tb1_dept(
id number(5) primary key,
name varchar2(10) not null,
city varchar2(10) not null
);
插入資料:
然後同樣寫好插入資料的sql語句,這裡我就寫三條資料。
insert into tb1_dept(id, name, city) values(1,'java', '南昌');
insert into tb1_dept(id, name, city) values (2,'c', '上海');
insert into tb1_dept(id, name, city) values(3,'java', '南昌');
好,資料庫表已經建立好了,接下來我們需要準備的是資料庫驅動包。
這裡我用的是 ojdbc6_g.jar
驅動包。
接下來先了解一些基礎知識:
JDBC的六大步驟:
這裡我們就按照jdbc的這六大步驟執行下去:
- 註冊驅動
- 獲取連線
- 獲取執行sql語句物件
- 執行sql語句
- 處理結果集
- 關閉資源
URL:統一資源定位器
oracle URL: jdbc:oracle:thin:@localhost:1521:XE
jdbc:oracle:thin:@127.0.0.1:1521:XE
MySQL URL:jdbc:mysql://localhost:3306/資料庫名稱
thin:小型驅動,驅動方式
@localhost 本機ip地址 127.0.0.1
XE:資料庫的名字
ipconfig:ip地址查詢
URI:統一資源識別符號
URN:用特定名稱空間的名字標識資源
如果你不知道 URL、 URI、URN三者的區別的話,那麼你可以參考下面我推薦的一篇文章。
三種連線方式
程式碼:
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);
//第三種方式:利用系統引數 需在idea中配置program arguments為下面的引數
//-Djdbc.drivers = oracle.jdbc.OracleDriver
//第二步:獲取連線
//第一種方式:利用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();
}
}
}
}
註解:
1、 第一步:註冊驅動 中的第三種方法 利用系統引數 需在idea中配置program arguments為下面的引數
這裡我說一下怎麼在IDEA中的配置方式吧
執行截圖:
OK !
下篇文章將寫 JDBC 的封裝。