天天看點

java 連接配接Oracle資料庫

用java連接配接Oracle資料庫進行簡單的查詢

用sys登入進sql plus

建立使用者

create user 使用者 identified by 密碼;

授權

grant connect,resource to 使用者;

grant selet any dictionary to 使用者;

grant OEM_MONITOR to 使用者;

grant create any view to grant create any view to jk028;;

以jk...登入到sql plus上

conn jk...;

create table jk028.Student

(

Sno nvarchar2(16) not null,

Name nvarchar2(6),

Sex nchar(1),

Age smallint,

IdCard nvarchar2(20),

PoliticalStatus nvarchar2(6),

constraint pk_Sno primary key(Sno)

);

create table jk028.Course

Cno nvarchar2(16) not null,

CourseName nvarchar2(18),

Credit smallint,

constraint pk_Cno primary key(Cno)

create table jk028.SelectCourse

Sno nvarchar2(16) not null,

Score int,

constraint fk_Sno foreign key(Sno) references jk028.Student(Sno),

constraint fk_Cno foreign key(Cno) references jk028.Course(Cno)

create view jk028.V_學生成績

as

select s.Sno,s.Name,s.Sex,s.IdCard,c.CourseName,c.Credit,sc.Score

from jk028.SelectCourse sc join jk028.Student s on sc.Sno=s.Sno join jk028.Course c on sc.Cno=c.Cno;

添加資料:

Student

insert into jk028.Student values('1060315014001','王1','男',20,'610203199701192911','共青團員');

insert into jk028.Student values('1060315014002','王2','女',20,'610203199701192912','共青團員');

insert into jk028.Student values('1060315014003','王3','男',20,'610203199701192913','共青團員');

insert into jk028.Student values('1060315014004','王4','女',20,'610203199701192914','共青團員');

insert into jk028.Student values('1060315014005','王5','男',20,'610203199701192915','共青團員');

Course

insert into jk028.Course values('0001','資料庫',11);

insert into jk028.Course values('0002','馬克思原理',12);

insert into jk028.Course values('0003','資料挖掘',13);

insert into jk028.Course values('0004','軟體工程',14);

insert into jk028.Course values('0005','作業系統',15);

SelectCourse

insert into jk028.SelectCourse values('1060315014001','0001',91);

insert into jk028.SelectCourse values('1060315014002','0001',91);

insert into jk028.SelectCourse values('1060315014003','0001',91);

insert into jk028.SelectCourse values('1060315014004','0001',91);

insert into jk028.SelectCourse values('1060315014005','0001',91);

先将外部jar引入到項目檔案中 将Oracle/product/11.2.0//db_home/jdbc/lib中的ojdbc6檔案引入

package oraclework;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

public class ConnOracle {

private static Connection con ;

private static String user = "jk028" ; //資料庫賬号

private static String password = "123456" ;// 資料庫密碼

private static String className = "oracle.jdbc.driver.OracleDriver" ;

private static String url = "jdbc:oracle:thin:@127.0.0.1:1521:Oraclewk" ; br/>//"jdbc:oracle:thin:@127.0.0.1:1521:Oraclewk"

//參照資料庫檔案 Oracle/product/11.2.0//db_home/NETWORK/ADMIN/tnsnames檔案中的參數

//hostname: XL2LY877TNOBUUF

public static void main(String[] args) {

// TODO Auto-generated method stub

ConnOracle c = new ConnOracle();

c.ConnectOracle();

c.getCon();

c.closed();

}

public static ResultSet select(String sql){

import java.util.ArrayList;

import java.util.Iterator;

public class StudentSelectCourse {

public static void main(String[] args) throws SQLException {

StudentSelectCourse ssc=new StudentSelectCourse();

String sql1="select from jk028.Student";

String sql2="select from jk028.Course";

String sql3="select * from jk028.V_學生成績";

ssc.sqlselect(sql1);

ssc.sqlselect(sql2);

ssc.sqlselect(sql3);

public void sqlselect(String sql) throws SQLException{