Full-Stack 개발자가 되려는 작은 개발자의 블로그
JAVA_JDBC연동 본문
package j_test2;
import java.sql.*;
public class DbExecute {
public static void main(String[] args) {
String driver="oracle.jdbc.driver.OracleDriver";
String url="jdbc:oracle:thin:@127.0.0.1:1521:xe";
String user="사용자명";
String password="비밀번호";
//접속 처리 객체 Connection 선언
Connection conn=null;
//쿼리 실행 객체 Statement,PreparedStatement 선언
Statement stmt=null;
PreparedStatement ps=null;
//DB 검색 결과를 저장하는 객체 ResultSet 선언
ResultSet rs=null;
//쿼리문 > membertbl 테이블의 모든 내용 검색
//Statement용 쿼리
String query="select * from 테이블명 order by 속성";
//PreparedStatement용 쿼리
String query2="insert into mm(mid,mname,mpass) values(?,?,?)";
try {
Class.forName(driver);
conn=DriverManager.getConnection(url,user,password);
//DB 검색 결과를 저장 할 변수
String mId=null;
String mName=null;
String mPass=null;
String mGrade=null;
//쿼리 실행 객체 생성
stmt=conn.createStatement();
//PreparedStatement 생성
ps=conn.prepareStatement(query2);
//'?'부분 채워넣기
ps.setString(1, "test5");
ps.setString(2, "test5");
ps.setString(3, "test555");
//insert,update,delete는 같은 메소드 사용
//PreparedStatement.executeUpdate()
int result=ps.executeUpdate();
//commit 실행
conn.commit();
System.out.println(result+"건 삽입 성공");
//쿼리문 실행 및 결과 얻기
rs=stmt.executeQuery(query);
//실행 결과는 1개 이상이 될 수 있음.
//반복으로 rs에 저장된 결과를 가져와서 처리
while(rs.next()) {
//rs.next()는 결과가 있으면 true, 없으면 false
mId=rs.getString("mid");
mName=rs.getString("mname");
mPass=rs.getString("mpass");
mGrade=rs.getString("mgrade");
System.out.println("=======================");
System.out.println("ID : "+mId);
System.out.println("Name : "+mName);
System.out.println("Password : "+mPass);
System.out.println("Grade : "+mGrade);
}
} catch (ClassNotFoundException e) {
System.out.println("드라이버 로드 실패");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("DB 연결 실패");
}finally {
//ResultSet > Statement > Connection 순으로 close
try {
if(rs!=null) rs.close();
if(stmt!=null) stmt.close();
if(ps!=null) ps.close();
if(conn!=null) conn.close();
} catch (SQLException e) {
System.out.println("DB 연결 해제 실패");
}
}
}
}
'강의 정리 > Java' 카테고리의 다른 글
학교 인적 관리 프로그램(SchoolPrj) (0) | 2020.04.18 |
---|---|
객체지향 실습5 (0) | 2020.04.18 |
객체 지향 실습 4 (0) | 2020.04.07 |
객체 지향 실습2 (0) | 2020.04.01 |
물품 관리 프로그램(Homeminus) (1) | 2020.04.01 |
Comments