백엔드/Database 20

Mybatis - <sql>, <include> | TIL_159

Mybatis를 사용하면서 개인적으로 기록한 내용을 정리 Mybatis 기본내용 id = 구현시 호출할 이름 parameterType = 파라미터 값 타입 public int Select(int bno) //괄호 안 부분 resultType = 결과타입 return 타입 = public int Select() | public Dto Select() 과 를 사용할 떄 1. 태그는 다른 구문에서 재사용가능한 sql 구문을 정의할 때 사용한다 select * from board *주의 : sql태그 내에 있는 쿼리들을 재사용 할 경우 재사용할 쿼리의 상단에 선언되어야 한다 하단에 선언되면 불러올 수 없다 sql 태그 내에 파라미터 값을 추가할 수도 된다 단, 인자 값이 존재해야 에러가 나지 않는다 title ..

백엔드/Database 2022.11.03

Jdbc(ojdbc) 검색 서비스 추가하기 | TIL_140

https://www.youtube.com/playlist?list=PLq8wAnVUcTFWxwoc41CqmwnO-ZyRDL0og 강의를 듣고 정리한 내용입니다 검색 메뉴 붙이기 NoticeConsole에 추가 System.out.printf("1.상세조회/ 2.이전/ 3.다음/ 4.글쓰기 / 5.검색 / 6.종료>"); NoticeProgram switch문 수정 case 4 : //글쓰기 break; case 5 : //검색 console.inputSearchWord(); break; case 6 : //종료 System.out.println("종료합니다."); break EXIT; NoticeConsole 입력을 받을 때 2가지 키워드가 필요하다 검색어와 검색을 위한 필드(제목, 작성자 등) 검색을..

백엔드/Database 2022.09.02

Jdbc(ojdbc) 게시글 개수, 마지막 페이지 | TIL_139

https://www.youtube.com/playlist?list=PLq8wAnVUcTFWxwoc41CqmwnO-ZyRDL0og 강의를 듣고 정리한 내용입니다 마지막 페이지를 알 수 없기에 마지막 페이지를 구하는 로직이 필요하다 -> printNoticeList() 메서드의 list값을 page로 바꾼다 List list = service.getList(page); 게시글 개수 구하기 데이터 베이스에 들어있는 전체 목록의 개수를 알아야 한다 전체 목록의 개수를 알아야 몇 개의 페이지가 될 것인지 알 수 있다 -> 다음 페이지의 존재 여부를 알 수 있다 NoticeConsole 전체 개수를 관리하는 변수를 선언한다 private int count; SQL문 SELECT COUNT(ID) COUNT FRO..

백엔드/Database 2022.08.31

Jdbc(ojdbc) 페이징 쿼리 | TIL_138

https://www.youtube.com/playlist?list=PLq8wAnVUcTFWxwoc41CqmwnO-ZyRDL0og 강의를 듣고 정리한 내용입니다 페이징을 위한 쿼리 만들기 1부터 10까지의 ROWNUM을 검색하는 SQL문 SELECT ROWNUM, NOTICE. * FROM NOTICE WHERE ROWNUM BETWEEN 1 AND 10; 위 구문의 문제점 : BETWEEN 2 AND 10;인 경우 조회되지 않는다 해결법 : 서브쿼리를 이용한다(안에서 만들어진 번호) SELECT * FROM ( SELECT ROWNUM NUM, NOTICE. * FROM NOTICE) WHERE NUM BETWEEN 2 AND 10; 최신글 순서대로 정렬하기 SQL문 SELECT * FROM NOTIC..

백엔드/Database 2022.08.29

Jdbc(ojdbc) 사용자 인터페이스 | TIL_137

https://www.youtube.com/playlist?list=PLq8wAnVUcTFWxwoc41CqmwnO-ZyRDL0og 강의를 듣고 정리한 내용입니다 사용자 인터페이스 상수 값이 아닌 사용자에게 값을 입력받을 수 있도록 인터페이스를 만든다 웹 기반의 사용자 인터페이스 콘솔 기반의 사용자 인터페이스 **ui는 자바를 배운 이후에 듣는 것을 가정했기 때문에 콘솔 기반으로 작성한다 목록에서 작성할 내용 상세조회 이전 다음 글쓰기 페이지 넘기기 (옵션) NoticeConsole 클래스 생성 package com.newlecture.app.console NoticeConsole.java //콘솔이 데이터를 가지고 있어야 한다 private NoticeService service; public Notic..

백엔드/Database 2022.08.24

Jdbc(ojdbc) crud 서비스 클래스 | TIL_136

https://www.youtube.com/playlist?list=PLq8wAnVUcTFWxwoc41CqmwnO-ZyRDL0og 강의를 듣고 정리한 내용입니다 CRUD를 담당하는 NoticeService 생성하기 package명 –> com.newlecture.app.service 이름이 충돌되지 않게 하기 위해 도메인 이름으로 짓는다 -> 그동안 패키지 명을 com.name으로 짓는 이유가 궁금했는데 강의를 통해 알게되었다 Notice.java 일종의 그릇이 되는 개체 클래스이다 package com.newlecture.app.entity //클래스 생략 private int id; private String title; private String writerId; private Date regDat..

백엔드/Database 2022.08.19

트랜잭션 / 데이터 추가 사이트 | TIL_135

https://www.youtube.com/playlist?list=PLq8wAnVUcTFWxwoc41CqmwnO-ZyRDL0og 강의를 듣고 정리한 내용입니다 트랜잭션 처리 트랜잭션이란? 하나의 단위로 수행되길 바라는 쿼리의 묶음이다 단위 = 업무 수행 단위, 논리적인 수행 단위 예시 UPDATE TABLE SET PUB = 1 WHERE ID IN (2,4,6,7,9); UPDATE TABLE SET PUT = 0 WHERE ID IN (1,3,5,8,10); 일괄 공개 여부를 나타내는 컬럼 PUB PUB = 1 공개 PUB = 0 비공개 -> 위 쿼리의 경우 SQL 구문이 별개로 존재하지만, 내용상으로 서로 연관된 쿼리이기 때문에 일괄 공개라는 하나의 단위로 이루어진 트랜잭션이라고 할 수 있다 ->..

백엔드/Database 2022.08.17

Jdbc(ojdbc) 데이터 추가, 수정, 삭제 | TIL_134

https://www.youtube.com/playlist?list=PLq8wAnVUcTFWxwoc41CqmwnO-ZyRDL0og 강의를 듣고 정리한 내용입니다 데이터 입력과 PreparedStement 결과 집합(ResultSet) ResultSet rs = st.executeQuery(sql); 을 사용하지 않고 st.executeUpdate(sql); 를 사용한다 데이터 추가 데이터 추가를 위한 SQL문 INSERT INTO notice (title, writer_id, content, files) values ('TEST', 'grape','test content', ''); java 코드 + JDBC를 이용한 데이터 추가 String title = "TEST"; String writerId = ..

백엔드/Database 2022.08.15

Jdbc(ojdbc) 연결 | TIL_133

https://www.youtube.com/playlist?list=PLq8wAnVUcTFWxwoc41CqmwnO-ZyRDL0og 강의를 듣고 정리한 내용입니다 실습용 사용자 추가 cmd sqlplus > sys as sysdba로 접속 후 사용자를 추가한다 create user 사용자이름 identified by 비밀번호; 예시 : create user test identified by 0000; 1행에 오류: ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다. 라는 메시지와 함께 추가가 되지 않는다면 생성할 계정명 앞에 C## 키워드를 붙이거나 ALTER SESSION SET“_ORACLE_SCRIPT”=TRUE; 를 입력하면 된다 모든 권한 부여(실 사용시 권장하지 않음) grand db..

백엔드/Database 2022.08.12

Jdbc(ojdbc) 초기 세팅 | TIL_132

https://www.youtube.com/playlist?list=PLq8wAnVUcTFWxwoc41CqmwnO-ZyRDL0og 강의를 듣고 정리한 내용입니다 기초적인 세팅 (이클립스 활용) Java Project 추가 후 Build Path > Configure Build Path > Libraries > add External Jars -> 다운받은 경로에 있는 ojbc8.jar 추가 후 apply 한다 오라클 11g의 경우 ojdbc6.jar을 받으면 된다 내 경우 Modulepath와 Classpath로 나눠졌는데 우선 Modulepath에 넣었다 -> 정상 작동 확인 본격적인 실습 전 사용할 코드에 대한 설명 JDBC 기본 코드의 이해 사용자의 요구에 따라 데이터를 쿼리할 때 JDBC 라이브러..

백엔드/Database 2022.08.10