자바 데이터베이스 프로 그래 밍 기술

1,자바 데이터베이스 작업 기본 프로 세 스 2,몇 가지 자주 사용 하 는 중요 한 기술:스크롤 가능,업데이트 가능 한 기록 집합 대량 업데이트 사무 처리 자바 데이터베이스 작업 기본 프로 세 스:데이터베이스 연결 획득-실행 sql 문장-처리 실행 결과-데이터베이스 연결 해제 1,데이터베이스 연결 가 져 오기 1)DriverManager 로 데이터베이스 연결 예:String className,url,uid,pwd;  className = "oracle.jdbc.driver.OracleDriver";   url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr;   uid = "system";   pwd = "manager";   Class.forName(className);   Connection cn = DriverManager.getConnection(url,uid,pwd); 2)String jndi="jdbc/db"를 jndi(자바 의 이름과 디 렉 터 리 서비스)방식 으로 예 로 들 기;  Context ctx = (Context) new InitialContext().lookup("java:comp/env");   DataSource ds = (DataSource) ctx.lookup(jndi);   Connection cn = ds.getConnection(); jsp 에서 2,sql 문 구 를 실행 하 는 데 많이 사 용 됩 니 다.1)Statement 으로 sql 문 구 를 실행 합 니 다.String sql;  Statement sm = cn.createStatement();   sm.executeQuery(sql); // 데이터 조회 문 실행(select)sm.executeUpdate(sql);/데이터 업데이트 문장(delete,update,insert,drop 등)statement.close()을 실행 합 니 다.2)sql 구문 String sql 을 Prepared Statement 으로 실행 합 니 다.  sql = "insert into user (id,name) values (?,?)";   PreparedStatement ps = cn.prepareStatement(sql);   ps.setInt(1,xxx);   ps.setString(2,xxx);   ...   ResultSet rs = ps.executeQuery(); // int c=ps.executeUpdate();/3.실행 결과 조회 문 구 를 업데이트 하고 기록 집합 ResultSet 을 되 돌려 줍 니 다.문 구 를 업데이트 하고 숫자 를 되 돌려 주 며 이 업데이트 의 영향 을 나타 내 는 기록 수 를 표시 합 니 다.ResultSet 방법:1,next(),커서 를 한 줄 뒤로 이동 합 니 다.true 로 돌아 가 는 데 성공 하면;그렇지 않 으 면 false 로 돌아 갑 니 다.2.getInt("id")또는 getSting("name")은 현재 커서 아래 필드 의 값 을 되 돌려 줍 니 다.3.연결 해제.  cn.close(); 일반적으로 ResultSet 을 닫 은 다음 Statement(또는 Prepared Statement)을 닫 습 니 다.마지막 으로 Connection 을 닫 으 면 스크롤,업데이트 가능 한 기록 집합 1,스크롤,업데이트 가능 한 Statement Statement sm=cn.createStatement(ResultSet.TYPESCROLL_ENSITIVE,ResultSet.CONCUR_READ_ONLY); 이 Statement 에서 얻 은 ResultSet 은 스크롤 가능 한 2 입 니 다.Prepared Statement 을 만 들 때 지정 한 매개 변수 Prepared Statemet ps=cn.repareStatement(sql,ResultSet.TYPESCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);   ResultSet.absolute(9000); 일괄 업데이트 1,Statement Statement sm=cn.createStatement();  sm.addBatch(sql1);   sm.addBatch(sql2); 여러 sql 문 구 를 실행 한 후 대량으로 업데이트 할 수 있 는 sm.executeBatch()의 Statement 대상이 여러 문 구 는 delete,update,insert 등 또는 2,Prepared Statement Prepared Statement ps=cn.prepared Statement(sql)을 겸 할 수 있 습 니 다.  {   ps.setXXX(1,xxx);   ...   ps.addBatch();   }   ps.executeBatch(); 하나의 Prepared Statement 은 sql 문 구 를 여러 번 실행 하고 한 번 에 업데이트 할 수 있 습 니 다.트 랜 잭 션 처리 1.Connection 의 자동 제출 cn.setAutoCommit(false)을 닫 습 니 다.2.일련의 sql 문 구 를 실행 하 는 요점:모든 새로운 sql 문 구 를 실행 하기 전에 지난번 에 sql 문 구 를 실행 하 는 Statement(또는 Prepared Statemet)은 반드시 close Statement sm 을 실행 해 야 합 니 다.  sm = cn.createStatement(insert into user...);   sm.executeUpdate();   sm.close();   sm = cn.createStatement("insert into corp...);   sm.executeUpdate();   sm.close(); 3.cn.comit()제출;4.이상 이 발생 하면 cn.rollback()을 스크롤 백 합 니 다.

좋은 웹페이지 즐겨찾기