본문 바로가기

데이터베이스(DB)/JDBC
(8)
[JDBC] *소소한 프로그래밍* package com.sorrel012.app.entity; import java.util.Date; public class Notice { private int id; private String title; private String writerId; private Date regDate; private String content; private int hit; public Notice(int id, String title, String writerId, Date regDate, String content, int hit) { this.id = id; this.title = title; this.writerId = writerId; this.regDate = regDate; this.content = ..
[JDBC] CRUD //CRUD Create : 생성 Read : 읽기(조회) Update : 수정 Delete : 삭제 - 효과적인 CRUD 작업을 위한 Service가 필요하다. - 데이터베이스의 테이블 역할을 하는 클래스를 생성한다. - 해당 테이블의 칼럼들은 클래스의 멤버 변수로 선언하고 생성자를 이용하여 초기화한다. ~ private으로 선언하고 Getter Setter 이용 - CRUD 각 기능에 맞는 메서드를 구현한다. package com.sorrel012.app.entity; import java.util.Date; public class Notice { private int id; private String title; private String writerId; private Date regDate; p..
[JDBC] 데이터 삭제 //데이터 삭제 - 자바를 통해 DBMS에 저장된 데이터를 삭제한다. - SQL에서 사용하는 쿼리를 그대로 간편하게 사용할 수 있다. ~ String sql = "DELETE NOTICE WHERE WRITER_ID = 'OKAY'"; - PreparedStatement 를 사용할 경우 st.executeQuery()가 아닌 st.executeUpdate를 사용한다. package ex1; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class Program4 { public static void main(String..
[JDBC] 데이터 수정 //데이터 수정 - 자바를 통해 DBMS에 저장된 데이터를 수정한다. - UPDATE를 하는 쿼리를 준비할 때, INSERT와 비슷하게 원하는 값을 ? 로 넣어두고 추후에 값을 설정할 수 있다. ~ String sql ="UPDATE NOTICE SET TITLE = ?, CONTENT = ? WHERE WRITER_ID = 'sorrel012'"; ~ PreparedStatement st= con.prepareStatement(sql); ~ st.setString(?의 순서 - 1부터 시작, 넣을 데이터); ※st.set자료형 (setInt, setString...) - INSERT와 마찬가지로 PreparedStatement 를 사용할 경우 st.executeQuery()가 아닌 st.executeU..
[JDBC] 데이터 입력 //데이터 입력 - 자바를 통해 DBMS에 데이터를 저장한다. - INSERT를 하는 쿼리를 준비할 때, VALUES에 해당하는 부분을 ? 로 넣어두고 추후에 값을 설정할 수 있다. ~ String sql = "INSERT INTO NOTICE (TITLE, WRITER_ID) VALUES (?, ?, ?, ?)"; ~ PreparedStatement st= con.prepareStatement(sql); ~ st.setString(?의 순서 - 1부터 시작, 넣을 데이터); - PreparedStatement 를 사용할 경우 st.executeQuery()가 아닌 st.executeUpdate를 사용한다. package ex1; import java.sql.Connection; import java.s..
[JDBC] 트랜잭션 처리 // 트랜잭션 - 하나의 단위로 수행되길 바라는 쿼리의 묶음 - 업무 수행단위 - 논리적인 수행단위 // 트랜잭션 처리 - ACID를 유지하는 것 ~ Atomicity : 원자성 ~ Consistency : 일관성 ~ Isolation : 고립성 ~ Durability : 지속성
[JDBC] 데이터 조회 // DBMS를 이용하는 자바 코드 - 드라이버 로드 : 드라이버를 객체화한다. Class.forName("oracle.jdbc.driver.OracleDriver"); - 연결 : 객체 얻기 Connection con = DriverManager.getConnection(...); - 실행 도구 생성 Statement st = com.createStatement(); - 결과 패치 : 커서가 레코드를 가리키고 있음(순차적으로 접근해야 함.) ResultSet rs = st.executeQuery(sql); - 다음 결과 전달 rs.next(); - 전달받은 결과 반환 String title = rs.getString("title"); ※ BoF(Before of File) : 커서가 첫 번째 레코드를 ..
[JDBC] 설치 및 환경설정 //JDBC Driver설치하기 - 홈페이지에서 jdbc를 검색하여 맞는 버전을 다운로드 한다. - 내가 쓰는 오라클은 11c라서 해당 버전이 공식 홈페이지에선 내려가고 다운받을 수 있는 링크가 걸려있었다. https://repo1.maven.org/maven2/com/oracle/database/ Central Repository: com/oracle/database repo1.maven.org //ojdbc6 설정하기 - 프로젝트 우클릭 -> Properties (또는 프로젝트 클릭 후 Alt+Enter) -> Java Build Path -> Add External JARs -> ojdbc6 파일 선택