출처 : http://cafe.naver.com/breakjava/93
- package db;
- /*
- * 자바와 db연동 시키기
- * insert, select, delete, update를 db를 이용해서 작성및 변경, 삭제하기
- */
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.Statement;
- import org.omg.CORBA.SetOverrideType;
- public class DbTest1 {
- Connection conn;
- Statement stmt; // 필요한것을 매번 불러옴 .스테이트 먼트의 특징
- ResultSet rs;
- String sql; // 전역변수 초기값은 0
- public DbTest1() {
- try { // OracleDriver을 불러옴
- Class.forName("oracle.jdbc.driver.OracleDriver"); // 오라클에서 제공하는
- // OracleDriver
- return;
- }
- try { // db접속 "커넥션~"
- "jdbc:oracle:thin:@211.183.3.182:1521:orcl", "scott","tiger"); // 아이피:코드:포트
- return;
- }
- try { // db에서 자료를 불러옴
- stmt = conn.createStatement(); // db에 연결후 sql 문장 명령어 사용하기 위해 "statement" 사용
- // Transaction처리 ----------------------시작
- try {
- conn.setAutoCommit(false); // 오토Commit 에 펄스값을 줘서 해제합니다
- // insert 처리 문장
- /*
- String co = "12";
- String na = "강석훈";
- // int ag = 25;
- String ag = "28";
- // 들어오는 컬럼 위치와 동일하면 (code,name,age) 안써도 상관없다
- sql = "insert into good(code,name,age) values
- (" + co + ",'"+ na + "'" + "," + ag + ")"; // 문자나 날짜는 반드시 작은따옴표 를 붙여야함
- // System.out.println(sql); //sql문장이 맞는지 자주 찍어보는 습관을 기릅시다..
- stmt.executeUpdate(sql);
- */
- /*
- //update 처리 문장
- sql = "update good set name = '저팔계',age=27 where code = 3"; // 변경할 행 선택...
- int re = stmt.executeUpdate(sql); // select 이외의 모든 sql문 수행은(익스큐트업데이트) 로 합니다.
- if(re == 0) System.out.println("수정실패"); //들어온 값이 없으니 수정된것도 없겠지요~
- */
- /*
- //delete 처리 문장
- sql = "delete from good where code = 177";
- if(stmt.executeUpdate(sql) == 0) //업데이트 if문이랑 똑같은 것임
- System.out.println("삭제 실패");
- */
- //conn.rollback(); //이곳에다 롤빽하면 인서트한게 취소됩니다.
- conn.commit();
- conn.rollback();
- }finally{
- conn.setAutoCommit(true); //오토커밋에 트루를 걸어 다시 autocommit 을 실행시킵니다.
- }
- // Transaction처리 ----------------------끝
- // select 처리 문장
- // rs = stmt.executeQuery("select * from good"); //sql문장 부름(<=조래 * 를써서 컬럼을 부르믄 기동력이 떨어집니다.)
- // rs = stmt.executeQuery("select code,name,age from good"); //동일한 데이터는 등록안됨
- sql = "select gogek_no,gogek_name,gogek_tel,gogek_jumin,gogek_damsano from gogek";
- rs = stmt.executeQuery(sql);
- // rs = stmt.executeQuery("select name,code,age from good"); //
- // rs = stmt.executeQuery("select code as 코드,name,age from good"); //컬럼에 별명을 붙여서 불러올수도 있어욤
- // sql문장은 원래 대문자로 작성을 해야함..그러나 자바에선 별로 상관없지요.그래도 다른 예민한프로그램은 영향을 줍니다
- // select의 값은 rs(리졀셋)이 받는다
- // rs = stmt.executeQuery("select count(*), cou, max(age) from good");
- // count(*), cou, max(age) // 1번째 , 2번째, 3번째 이런식으로
- // Statement swing을 사용함
- while (rs.next()) { //rs 내용물이 다없어질때까지 뽑아내겠다는 의지~
- }
- } finally { // 오류발생하더라도 그냥 실행하라
- try { // 작업이 끝나고 반환하라
- if (rs != null)
- rs.close();
- if (stmt != null)
- stmt.close();
- if (conn != null)
- conn.close();
- }
- }
- new DbTest1(); //가장 중요함! 메인메소드에서 생성자호출
- } //요고 안해줘서 에러도 못잡고 실행안된다고 하는사람들이 꽤있어요^^
- }
'Programming > JAVA' 카테고리의 다른 글
SWT 컴포넌트 (0) | 2013.08.22 |
---|---|
자바 룩앤필 (0) | 2012.11.29 |
[자바] Infinity 처리 (0) | 2012.10.13 |
[자바] NaN, Infinity (0) | 2012.10.13 |
[Swing] 스크린 가운데 배치 (0) | 2012.10.07 |