Java連接Oracle


1,首先需要在Oracle安裝完成之后新建一個用戶

 1 --新建用戶
 2 create user chenh identified by chenh;
 3 --解鎖用戶
 4 alter user chenh account unlock;
 5 alter user scott account unlock;
 6 --修改密碼
 7 alter user chenh identified by chenh;
 8 --授予權限
 9 grant sysdba to chenh;
10 --授予chenh用戶創建session的權限,即登陸權限
11 grant create session to chenh;
12 --授予chenh用戶使用表空間的權限    
13 grant unlimited session to chenh;
14 --授予創建表的權限
15 grant create table to chenh;
16 --授予刪除表的權限
17 grant drop table to chenh;
18 --插入表的權限
19 grant insert table to chenh;
20 --修改表的權限
21 grant update table to chenh;
22 --查看當前數據庫實例名
23 select name from v$database;
24 --提交事務
25 commit;

 

2用戶新建完成之后,可能會出現某個用戶對標users沒有權限的提示

1   -- 解決用戶 XX 對 users表空間沒有權限的問題
2  alter user chenh quota unlimited on users; 

 

 

3.新建一個測試表以及向其中插入幾條數據

 1 --刪除表
 2 drop table a;
 3 --新建表
 4 create table a(
 5 col1 varchar2(10),
 6 col2 varchar2(10),
 7 col3 varchar2(10),
 8 col4 varchar2(10)
 9 );
10 --查詢
11 select * from a;
12 --插入語句 多執行幾次,因為沒有主鍵限制,故此處可以執行多次
13 insert into a (col1,col2,col3,col4) values ('a1','b','c','d');
14 
15 commit;

4.需要在eclipse中新建一個java項目

打開eclipse(myeclipse)-> File(文件)-> New(新建) ->Project(工程) -> Java Project (Java 工程)

  Project Name: 項目名稱 接着一路Next(下一步)或者直接Finish(完成)

5.需提前下載ojdbc6.jar 連接數據庫驅動的JAR包

  這里提供下載地址:https://files.cnblogs.com/files/1187163927ch/blog.rar

      解壓密碼:1187163927

6.在eclipse(myeclipse)新建的項目中將ojdbc6.jar導入,記得build path.

  打開該項目樹狀圖,將下載好的ojdbc6.jar直接拖到該項目中,然后鼠標左鍵選中該文件,右鍵Build Path即可。

7.新建一個java類,在其中連接數據庫

  7.1連接數據庫驅動

 1 import java.sql.Connection;
 2 import java.sql.DriverManager;
 3 import java.sql.SQLException;
 4 
 5 public class DBConnection {
 6     public static Connection dbConn(String name, String pass) {
 7        Connection c = null;
 8        try {
 9            Class.forName("oracle.jdbc.driver.OracleDriver");
10            // 要是導入驅動沒有成功的話都是會出現classnotfoundException.自己看看是不是哪里錯了,例如classpath這些設置
11        } catch (ClassNotFoundException e) {
12            e.printStackTrace();
13        }
14        try {
15            c = DriverManager.getConnection(
16                   "jdbc:oracle:thin:@localhost:1521:chenh", name, pass);
17            // 連接數據的方法有四種, 這個屬於最簡單的,一般用網頁程序 chenh是你的數據庫實例名稱,在下載的文件test.sql中可以執行語句查看 18            // "jdbc:oracle:thin:@計算機名稱:監聽端口:系統實例名", username, password,
19            // 計算機名稱,要是自己不知道可以在計算機屬性查知.
20            // 監聽端口一般默認是1521, 要是改變了就看自己的監聽文件listener.ora
21            // 系統實例名一般是默認orcl, 要是不是的話就用 select name from v$database; 看看當前的實例名.在本程序中我更改了實例為chenh 22            // username,password,就是登陸數據庫的用戶名和密碼.
23  
24 
25        } catch (SQLException e) {
26            e.printStackTrace();
27        }
28        return c;
29     }
30 }

   7.2 查詢數據庫

 1 import java.sql.Connection;
 2 import java.sql.ResultSet;
 3 import java.sql.SQLException;
 4 import java.sql.Statement;
 5 
 6 public class DB extends DBConnection {
 7     private static Connection con = null;
 8     private static Statement sql = null;
 9     private static ResultSet rs = null;
10  
11 
12     public static void main(String[] args) throws SQLException {
13        String COL1;
14        String COL2;
15        String COL3;
16        String COL4;
17        try {
18            con = dbConn("chenh", "chenh");
19            if (con == null) {
20               System.out.print("連接失敗");
21               System.exit(0);
22            }
23            sql = con.createStatement();
24            rs = sql.executeQuery("select * from a");
25            System.out.println("COL1" + "            " + "COL2" + "             "+ "COL3"+ "             "+ "COL4");
26            while (rs.next()) {
27               COL1 = rs.getString(1);
28               COL2 = rs.getString(2);
29               COL3 = rs.getString(3);
30               COL4 = rs.getString(4);
31               System.out.println(COL1 + "         " + COL2 + "         " + COL3+ "         " + COL4);
32            }
33        } catch (Exception e) {
34            e.printStackTrace();
35  
36 
37        } finally {
38            con.close();
39        }
40     }
41 }

檢查不報錯之后,執行按鈕,選中項目  右鍵 -> Run As -> Java Application  可看到如下結果:

 

 

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM