servlet
-
JDBC - CRUD INSERT, UPDATE, DELETEservlet/JDBC 2022. 2. 4. 01:31
우선 쿼리문을 xml 파일에 작성 INSERT INTO TBL_MENU A ( A.MENU_CODE , A.MENU_NAME , A.MENU_PRICE , A.CATEGORY_CODE , A.ORDERABLE_STATUS ) VALUES ( SEQ_MENU_CODE.NEXTVAL , ? , ? , ? , ? ) UPDATE TBL_MENU A SET A.MENU_NAME = ? , A.MENU_PRICE = ? WHERE A.MENU_CODE = ? DELETE FROM TBL_MENU A WHERE A.MENU_CODE = ? 참고 SELECT 수행 시에는 결과 값 ResultSet 인터페이스를 사용했지만 insert/update/delete에서는 ResultSet 은 필요가 없다 INSERT, UPD..
-
JDBC - PreparedStatement 사용servlet/JDBC 2022. 2. 4. 00:25
PreparedStatement 사용 Statement 사용 시 불편한 점을 해결해준다. 또한 속도가 더 빠르다. PreparedStatement pstmt = null; Statement 인터페이스를 상속받는 하위 인터페이스 ResultSet rset = null; SELECT 결과 집합을 받아올 용도의 인터페이스 pstmt = con.prepareStatement("SELECT EMP_ID, EMP_NAME FROM EMPLOYEE WHERE EMP_ID = ?"); pstmt.setString(1, empId); Statement 인터페이스와는 달리 PreparedStatement 인터페이스는 생성 시 쿼리문도 전달 위치홀더에 해당 값을 setString(위치홀더인덱스, 변수)로 세팅 (위치홀더인덱..
-
JDBC - Statement 사용servlet/JDBC 2022. 2. 3. 23:14
Statement 사용 Statement stmt = null; 쿼리문을 저장하고 실행하는 기능을 하는 용도의 인터페이스이다. ResultSet rset = null; SELECT 결과 집합을 받아올 용도의 인터페이스이다 stmt = con.createStatement(); Connection 인스턴스를 이용하여 Statement 인스턴스를 생성한다. rset = stmt.executeQuery("SELECT EMP_ID, EMP_NAME FROM EMPLOYEE"); 수행할 쿼리를 Statement 인스턴스의 executeQuery 메서드를 이용하여 결과 집합을 얻어온다. while(rset.next()) { System.out.println(rset.getString("EMP_ID") + ", " +..
-
Oracle JDBC 사용 방법servlet/JDBC 2022. 2. 3. 22:30
JDBC 란? JDBC(Java DataBase Connectivity)란 자바에서 데이터베이스에 접근할 수 있게 해주는 Programming API 이다. Oracle JDBC 오라클 JDBC 라이브러리 ojdbc8 다운 https://www.oracle.com/database/technologies/appdev/jdbc-ucp-18-15-downloads.html Charactoer Set 설정 문자 인코딩 방식이 맞지 않으면 해당 문자가 제대로 출력되지 않으므로 이클립스 작업 파일에 대한 문자셋을 UTF-8로 일치시켜야 한다. 따라서 다음과 같이 Window->Preferences에서 다음과 같은 설정을 해준다. 기본 문자 인코딩 JDBC 사용 클래스 DriverManger - 데이터 원본에 JDB..
-
JDBC 10 - 최종 결과물servlet/JDBC 2021. 12. 3. 18:25
실행 MAIN클래스 package ex1; import java.sql.SQLException; import com.newlecture.app.console.NoticeConsole; public class Program5 { public static void main(String[] args) throws ClassNotFoundException, SQLException { NoticeConsole console= new NoticeConsole(); //int page; EXIT: while(true) { console.printNoticeList(); int menu = console.inputNoticeMenu(); switch(menu) { case 1:// 상세조회 break; case 2:/..
-
JDBC 9 - 사용자 인터페이스 붙이기(공지사항 목록)servlet/JDBC 2021. 12. 2. 00:57
step1 실행 클래스 생성 console.printNoticeList(); console.inputNoticeMenu(); 구현 public class Program5 { public static void main(String[] args) throws ClassNotFoundException, SQLException { NoticeConsole console= new NoticeConsole(); EXIT: while(true) { console.printNoticeList(); int menu = console.inputNoticeMenu(); switch(menu) { case 1:// 상세조회 break; case 2:// 이전 break; case 3:// 다음 break; case 4: //..
-
JDBC 7 - CRUD를 담당하는 NoticeService 생성servlet/JDBC 2021. 11. 30. 22:51
NoticeService 여태까지 만든 getList, insert, update, delete 를 한 클래스로 합친다 public class NoticeService { //공통적으로 사용되는 부분은 전역 변수로 만들어 모든 메소드에서 사용하도록한다 private String url = "jdbc:oracle:thin:@localhost:1521/xepdb1"; private String uid = "test"; private String pwd = "1111"; private String driver = "oracle.jdbc.driver.OracleDriver"; // DB에서 레코드를 가져와 객체에 저장한 후 반환 public List getList() throws ClassNotFoundExce..
-
JDBC 6 - 데이터 삭제하기servlet/JDBC 2021. 11. 30. 22:07
데이터 삭제하기 public static void main(String[] args) throws ClassNotFoundException, SQLException { int id = 255; String url = "jdbc:oracle:thin:@localhost:1521/xepdb1"; String sql = "DELETE NOTICE WHERE ID=?"; Class.forName("oracle.jdbc.driver.OracleDriver"); Connection con = DriverManager.getConnection(url, "test", "1111"); //Statement st = con.createStatement(); //미리 시퀄문을 준비해서 값을 준비하여 바로 실행만 할 수있도록..