JDBC
-
JSP 서블릿으로 자세한 페이지 구현하기Servlet-JSP 2022. 2. 8. 19:17
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. 자세한 페이지란 글목록에서 특정 글 하나를 클릭 했을 때 그 해당글의 페이지로 열리는 것을 구현 해 볼 것이다. 자세한 페이지를 구현 할 때에는 주소창이 이런식으로 구현되게 할 것이다. ?뒤에 id에 쿼리값을 넣어서 전달받은 id 값에 따라서 글 목록이 나올 수 있도록 구현 할 것이다. 이 id값이 전달이 되지 않으면 글 목록이 에러가 나게 될 것인데 이 id값을 심는 것부터 알아보고 자세한 페이지를 구현해보도록 하자. td부분이 게시글의 제목 부분이고 a태그를 누르면 해당 페이지로 넘어가게 되는데 html로 되어 있는 확장자를jsp로 바꿔 줄 것이다. 그리고 쿼리스트링을 전달하기 위해 ?를 작성 해 준 다음 가져 올 값을 대입해주면 되는..
-
JDBC 마지막 페이지 구하기JDBC 2022. 2. 4. 23:06
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. 레코드를 전체개수를 알아보는 COUNT 변수를 만들어보았는데 이것을 통해서 마지막 페이지와 현재 페이지를 구현해보자 현재 페이지의 경우에는 우리가 저번 시간에 page 변수를 선언 한 것을 이용하면 된다. 1,2 라고 적힌 부분을 마찬가지로 page 변수를 작성 해 준다. 그럼 이렇게 다음을 눌렀을 때에 페이지의 값이 변경이 되는 것을 확인 할 수 있다. 하지만 이렇게 되면 현재 몇번째 페이지만 알 수 있다. lasPage라는 변수를 줘서 마지막 페이지를 구해보자 이 lastPage 변수는 지역변수로 해야할지 전역변수로 해야할지 멤버변수로 해야할지 결정해야한다. 지난시간의 count의 경우에는 지역변수로 만들지 않고 멤버변수로 만들었었다...
-
JDBC로 이전/다음 페이지 구현JDBC 2022. 2. 4. 21:36
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. 목록이라는 것을 페이징이 가능해지면 이전 페이지와 다음페이지도 구현 할 수 있다. Switch문을 이용해서 이전/다음 페이지 공간을 만들어두었었는데 이전과 다음을 구현하기 위해서는 이전 페이지와 다음페이지를 구현하는 것은 현재 페이지가 이전페이지인지 다음페이지를 알고 있어야한다는 말인데 그러면 페이지를 기억하기 위한 상태 변수가 하나 필요하다. 이렇게 int page라는 변수를 두고 이전과 다음에 증감연산식을 사용하는 방법도 있을것이다. 하지만 이 방법 말고 다른 방법을 알아보도록 하자 현재 목록은 console에서 구현하고 있다. 이 console이 노티스에 대한 목록을 출력하고 있는데 NoticeConsole이 페이지를 구분하는 변수를..
-
JDBC 목록 View 생성JDBC 2022. 2. 4. 20:56
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. 페이징 쿼리를 만들어서 자바에서 이용했었는데 자바에서 이용하기에는 문자열을 더해야하고 내려써야해서 좀 복잡한 감이 없지 않아 있었다. 이것을 좀 더 간편하게 이용하기위한 방법으로 View를 이용하는 방법이 있다 이게 페이징을 위해 만들었던 쿼리이다. 정렬이 된 상태에서 num을 붙여서 일련번호를 뽑는것인데 이런 형태의 테이블이 없었다. 이러한 형태의 테이블을 만들기 위해서는 View를 사용하면 된다. View를 만들어보자 CREATE VIEW라는 키워드를 이용해서 만들어주면 된다. 중간에 AS 키워드를 넣고 기존의 WHERE절을 빼고 넣어주면 된다 View 생성 완료 아까 만든 뷰 테이블에 WHERE절을 입력하면 원하는 결과값이 도출이 된..
-
JDBC 콘솔로 간단한 게시판 목록 만들어보기JDBC 2022. 2. 3. 19:49
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. 새로운 클래스를 하나 만들어준다. 그리고 program5 클래스를 하나 만들어준다, 여기서는 콘솔 입출력과 notice 관리를 위해 package ex11; import com.jae.app.console.NoticeConsole; public class Program5 { public static void main (String[] args) { //notice를 관리 할 콘솔 만들어주기 NoticeConsole console = new NoticeConsole(); //이 콘솔을 통해서 노티스의 목록을 프린트해달라고 요청하기 console.printNoticeList(); //노티스 목록의 메뉴를 입력 받는 것 하나 더 추가 메뉴를 입..
-
JDBC 데이터 삭제하기JDBC 2022. 2. 3. 17:21
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. int id = 3; 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,"sys as sysdba", "Ew170916!!"); //Statement st = con. createStatement(); //ResultSet rs = st.executeQuery(sql); insert/update/delete에는 사용 하지 않는다. Prepa..
-
JDBC 데이터 수정하기JDBC 2022. 2. 3. 17:06
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. 저번에 했던 insert문이랑 코드가 거의 비슷하다 package ex11; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Date; public class Program3 { public static void main(String[] args) throws ClassNotFoundException, SQLException { String t..
-
JDBC를 이용해서 쿼리 입력하는 코드JDBC 2022. 2. 3. 16:46
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. 저번에 이클립스에서 SELECT 할 때 사용했던 클래스를 이용해서 입력해보도록 하자 지난번에 사용했던 program.java 파일을 복사해서 program2.java 파일을 생성 해 준다. ResultSet rs = st.executeQuery(sql); insert/update/delete에는 사용 하지 않기 때문에 지워주고 String sql문에는 지난번에 만들었던 insert문을 복사해서 붙여넣기 해 준다. 복사 해 올 때 세미콜론은 지워줘야한다. 아마 그래도 복사 붙여넣기 하면 \r\n이 적혀 있을것이다. 이거는 ctrl+f 해서 전부 지워주도록 한다. replace부분은 공백으로 두고 replace/find 버튼 클릭 public..