자바 Oracle 데이터베이스 연결 방법 분석
8070 단어 자바Oracle 데이터베이스
1.먼저 Oracle 데이터베이스 에 student 표를 만 듭 니 다.
create table student
(
id number(11) not null primary key,
stu_name varchar(16) not null,
gender number(11) default null,
age number(11) default null,
address varchar(128) default null
);
2.표 에 데 이 터 를 추가 합 니 다.insert into student values('1',' ','1','17',' 30 7 102')
MyEclipse 에서 자바 코드 를 작성 합 니 다.1.ojdbc 6.jar 항목 가 져 오기
먼저 항목 을 만 든 다음 마우스 에서 항목 으로 이동 합 니 다.->new-->folder;folder name:lib;이렇게 해서 프로젝트 에 폴 더 lib 를 만 들 었 습 니 다.그리고 이 폴 더 에 ojdbc 6.jar 패 키 지 를 가 져 옵 니 다.
이 패키지 다운로드 주소 링크:http://wd.jb51.net:81//201612/yuanma/ojdbc6_jb51.rar
이 가방 으로 마우스 옮 기기;오른쪽 키-->build path-->add 를 눌 러 build path;
2.클래스 를 만 들 고 인 코딩 을 시작 합 니 다.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
public class OperateOracle {
//
// 192.168.0.X ( IP ),1521 ,XE Oracle
private static String USERNAMR = "orcl";
private static String PASSWORD = "orcl";
private static String DRVIER = "oracle.jdbc.OracleDriver";
private static String URL = "jdbc:oracle:thin:@192.168.0.X:1521:xe";
//
Connection connection = null;
// , Statement
PreparedStatement pstm = null;
//
ResultSet rs = null;
/**
*
* , +1 id
* @param stuName:
* @param gender: ,1 ,2
* @param age:
* @param address:
*/
public void AddData(String stuName, int gender, int age, String address) {
connection = getConnection();
// String sql =
// "insert into student values('1',' ','1','17',' 30 7 102')";
String sql = "select count(*) from student where 1 = 1";
String sqlStr = "insert into student values(?,?,?,?,?)";
int count = 0;
try {
// student
pstm = connection.prepareStatement(sql);
rs = pstm.executeQuery();
while (rs.next()) {
count = rs.getInt(1) + 1;
System.out.println(rs.getInt(1));
}
//
pstm = connection.prepareStatement(sqlStr);
pstm.setInt(1, count);
pstm.setString(2, stuName);
pstm.setInt(3, gender);
pstm.setInt(4, age);
pstm.setString(5, address);
pstm.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
ReleaseResource();
}
}
/**
*
* @param stuName:
*/
public void DeleteData(String stuName) {
connection = getConnection();
String sqlStr = "delete from student where stu_name=?";
System.out.println(stuName);
try {
//
pstm = connection.prepareStatement(sqlStr);
pstm.setString(1, stuName);
pstm.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
ReleaseResource();
}
}
/**
*
* @param stuName: ,
* @param gender
* @param age
* @param address
*/
public void UpdateData(String stuName, int gender, int age, String address) {
connection = getConnection();
String sql = "select id from student where 1 = 1 and stu_name = ?";
String sqlStr = "update student set stu_name=?,gender=?,age=?,address=? where id=?";
int count = 0;
try {
// student
pstm = connection.prepareStatement(sql);
pstm.setString(1, stuName);
rs = pstm.executeQuery();
while (rs.next()) {
count = rs.getInt(1);
System.out.println(rs.getInt(1));
}
//
pstm = connection.prepareStatement(sqlStr);
pstm.setString(1, stuName);
pstm.setInt(2, gender);
pstm.setInt(3, age);
pstm.setString(4, address);
pstm.setInt(5, count);
pstm.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
ReleaseResource();
}
}
/**
*
*/
public void SelectData() {
connection = getConnection();
String sql = "select * from student where 1 = 1";
try {
pstm = connection.prepareStatement(sql);
rs = pstm.executeQuery();
while (rs.next()) {
String id = rs.getString("id");
String name = rs.getString("stu_name");
String gender = rs.getString("gender");
String age = rs.getString("age");
String address = rs.getString("address");
System.out.println(id + "\t" + name + "\t" + gender + "\t"
+ age + "\t" + address);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
ReleaseResource();
}
}
/**
* ResultSetMetaData
*/
public void SelectData2() {
connection = getConnection();
String sql = "select * from employees where 1 = 1";
int count = 0;
try {
pstm = connection.prepareStatement(sql);
rs = pstm.executeQuery();
while (rs.next()) {
count++;
}
ResultSetMetaData rsmd = rs.getMetaData();
int cols_len = rsmd.getColumnCount();
System.out.println("count=" + count + "\tcols_len=" + cols_len);
} catch (SQLException e) {
e.printStackTrace();
} finally {
ReleaseResource();
}
}
/**
* Connection
*
* @return
*/
public Connection getConnection() {
try {
Class.forName(DRVIER);
connection = DriverManager.getConnection(URL, USERNAMR, PASSWORD);
System.out.println(" ");
} catch (ClassNotFoundException e) {
throw new RuntimeException("class not find !", e);
} catch (SQLException e) {
throw new RuntimeException("get connection error!", e);
}
return connection;
}
/**
*
*/
public void ReleaseResource() {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pstm != null) {
try {
pstm.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
3.테스트 클래스 만 들 기
public class Test {
public static void main(String[] args) {
/**
* ,
* 1.
* 2. ( --> , ?)
* 3.
* 4.
*/
// OperateOracle
OperateOracle oo=new OperateOracle();
//
//oo.AddData(" ",1,25," 111 ");
//
//oo.DeleteData(" ");
//
oo.UpdateData(" ",1,30," 11 ");
//
//oo.SelectData();
// ResultSetMetaData
//oo.SelectData2();
}
}
테스트 클래스 에서 설명 한 바 와 같이 여 기 는 정확 한 방식 으로 Oracle 데이터 베 이 스 를 연결 하고 삭제 와 검사 작업 을 할 수 있 지만 일부 오류 작업 에 대한 처리 체제 가 완선 되 지 않 습 니 다.이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.