분류 전체보기 12

where not exist (sub query) 사용 예제

SELECT * FROM users WHERE NOT EXISTS ( SELECT 1 FROM orders WHERE orders.user_id =user.id ); where 절에 들어 간 orders테이블에서 orders.user_id = user.id 인 것을 제외하고 users 테이블에서 * (모든 컬럼)을 보여주는 쿼리 예제 테이블 생성 -- employees 테이블 생성 CREATE TABLE employees ( employee_id NUMBER PRIMARY KEY, employee_name VARCHAR2(50) NOT NULL, hire_date DATE NOT NULL ); -- orders 테이블 생성 CREATE TABLE orders ( order_id NUMBER PRIMARY..

DB/oracle 2023.01.09

스프링부트 미니 프로젝트 : Spring boot 도서관리시스템 웹 만들기 (7. 대출 테이블, 도서반납)

br_input 도서의 대출정보를 입력 받는 페이지 도서정보 입력과 거의 같고 input name만 맞춰서 작업하였다. br_inputOk 페이지를 만들어서 입력받은 값들이 DB에 존재하는지 확인하는 작업을 해주었다. br_input.jsp 전제 대출정보 입력 도서코드 : 회원ID : checkbrbcode 대출 테이블에 들어오는 도서코드가 도서테이블에 있는 도서코드에 들어있는지 확인하는 값 checkhavebcode 대출 테이블에 도서코드가 있는지 확인하는 값 (있으면 이미 대출 중) checkbrmid 대출 테이블에 들어오는 id가 멤버 테이블에 있는 id인지 확인 하는 값 dao를만들고 mapper에서 query 작성하여 위 값들을 확인하여 걸러주는 역할이다.

Dev/Spring boot 2022.11.30

스프링부트 미니 프로젝트 : Spring boot 도서관리시스템 웹 만들기 (6. select option 콤보박스, jstl c:if, c:forEach, fn 사용)

book_input페이지 도서명 장르 작가를 입력받아 db에 저장 bcode-책 번호는 seq를 만들어서 입력 시 1부터 순차적으로 부여 bstate- 대여상태와 rdate-반납예정일 brcount-대여 횟수는 대여 발생 시 업데이트하도록 설계 form을 이용하여 입력을 받고 input.js 의 breg_frm에서 간단한 validation 작업 후 DB에 INSERT input.js function inputCheck() { if(document.breg_frm.bname.value.length == 0) { alert("도서타이틀을 입력해주세요"); breg_frm.bname.focus(); return; } if(document.breg_frm.bcategori.value.length == 0) {..

Dev/Spring boot 2022.11.29

스프링부트 미니 프로젝트 : Spring boot 도서관리시스템 웹 만들기 (4. 로그인form.jsp, controller, Dao, mapper, session이용)

login.jsp 회원가입을 성공했으면 로그인폼을 만들자 중복되는 부분은 패스하고 form을사용하여 button submit action 이 발생하면 input된 정보를 post 방식으로 loginOK로 보내주는 구문 조인 폼을 만들 때와 다른 것은 크게 없다. 인풋 창이 두 개뿐이라 더 쉽게 작성 가능 login.jsp 전체 (table안에 table을 넣어 줄 맞춤이 지저분....) 로그인 ID : PW : loginOk.jsp 로그인에서 submit action으로 loginOk로 넘어오면 로그인 정보확인과 세션생성 로그인 성공 실패 안내를 해주는 페이지 DB에 input 받은 id가 존재하는지 체크하는 checkId의 값을 저장 int checkId = Integer.parseInt(request..

Dev/Spring boot 2022.11.18

스프링부트 미니 프로젝트 : Spring boot 도서관리시스템 웹 만들기 (3. 회원가입form.jsp, controller, Dao, Dto, mapper)

DTO src/main/java에 dto package를 만들어주고 각 테이블 별로 Dto class를 만들고 테이블의 칼럼들을 선언해준 뒤 alt+shift+s>r, alt+shift+s>o, alt+shift+s>c 해서 constructs from super class // construct using fields // getter/setter 를 추가하고 끝. MemberDto package com.uragil.LMS.dto; public class MemberDto { private String mid; private String mpw; private String mname; private String mphone; private String brcode; public MemberDto() {..

Dev/Spring boot 2022.11.17

스프링부트 미니 프로젝트 : Spring boot 도서관리시스템 웹 만들기 (2. 프로젝트 생성. gradle, application.properties, controller, jsp 설정)

스프링 부트를 켜고 new Spring Starter project 실행 Name에 프로젝트명을 정해서 적어주고 Type은 Maven 과 Gradle Project 중에 Gradle 을 이용한 프로젝트를 진행하기로 했다. 어차피 혼자 하는 간단한 프로젝트이니 최대한 간단하게 gruop명과 artifact, package를 채워 주고 Next 기본으로 사용할 Dependencies 를 선택하는 화면이 나온다. 필요한 것들을 검색하여 체크해주면 우측 Selected에 들어간다. 이번 프로젝트에 필요한 모듈을 체크해준다. mybatis framework - db작성을 쉽게 하기 위해 사용 Oracle Driver - 오라클 DB를 사용하기 위해 Spring Boot DevTools - 코드 변경 시 빠른 적용..

Dev/Spring boot 2022.11.16

스프링부트 미니 프로젝트 : Spring boot 도서관리시스템 웹 만들기 (1. 준비와 시작)

프로젝트 진행하면서 같이 작성했던 글이라 내용이 엉망진창에 뭔 말인지 이해하기 어려워서 순서랑 빠진 것들도 채우고 다시 정리해 본다. 비슷한 작업을 하면서 느낀 점은 시작이 중요하다. 난 다시 하라고 해도 대충 정해놓고 하면서 고쳐나가긴 하겠지만... 일단 만드려고 하는 페이지 구성과 테이블 구조만이라도 명확하게 정해야 코딩하면서 헤매는 일이 줄어든다. 기존에 만들었던 도서관리 시스템웹을 기준으로 재정리하면서 작성 사용자는 도서관의 도서 담당자가 되겠고 하는 일은 1. 새 책이 들어오면 책 정보를 등록하고 도서정보 등록, 삭제, 수정 2. 대여자가 책을 빌리려고 하면 승인과 함께 대출 정보를 등록하고 반납 시 반납 확인을 해준다. 대출정보 등록, 삭제, 수정, 대출이력 조회, 삭제, 반납 정보 등록, 조..

Dev/Spring boot 2022.11.15

python 정적 크롤링 subway매장 정보 csv로 저장하기

정적 크롤링을 배우고 처음 해봤던 연습 서브웨이 홈페이지 들어가서 보면 편한데 왜 이렇게 저장하는지 잘 이해는 안 갔지만 일단 해본다. 1. 사용하는 package BeautifulSoup HTML에서 필요한 데이터를 추출하고 가공하는 데 사용 urllib.request Url과 연결 소통하기 위해 사용 pandas 자료를 엑셀형태로 변환 2. 홈페이지 확인 어떤 정보를 가져올지 정했기에 subway에 들어가 매장 정보가 나와 있는 메뉴를 찾아 들어간다. https://www.subway.co.kr/storeSearch?page=51&rgn1Nm=&rgn2Nm=#storeList 매장 정보는 53페이지 까지 나와있고 각 페이지당 10개소의 정보가 들어 있는 걸 확인할 수 있고 그리고 url을 확인해 보면..

Dev/python 2022.11.15

Oracle 접속 에러 services.msc 확인 (ORA-12560: TNS:protocol adapter error)

오랜만에 오라클 접속하려는데 접속이 안된다. 비밀번호가 틀린건가 싶어 찾아보았지만 틀리지 않았다. 내가 모르는 사이에 고양이가 바꿔 놓았나... 찾아보니 Orcale 서비스가 실행되지 않았을 때 나오는 에러라고 한다. 집에서 설치하면서 시스템 메모리를 조금이라도 줄여보려고 oracle 서비스를 자동실행이 아닌 수동으로 설정해 두었기에 에러를 뱉어내었던 것. 윈도우에서 services.msc 서비스(앱)를 실행시켜주면 등록된 서비스들과 상태를 확인할 수 있고 Oracle로 시작하는 것 중에 OracleServiceXE 하고 OracleXeClrAgent 가 수동으로 되어있는 것을 볼 수 있다. 이것들을 속성에 들어가서 자동으로 바꿔 주던지 다음에는 안까먹고 헤매지 않을 자신이 있으면 그냥 시작만 시켜주면 ..

DB/oracle 2022.11.14

DBeaver 설치 및 오라클DB 연결해보기

https://dbeaver.io/ DBeaver Community | Free Universal Database Tool DBeaver Universal Database Tool Free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases. Supports all popular databases: MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL Server, Sybase, dbeaver.io 현재 DBeaver Community 22.2.4 버전 배포 중 Pro 버전은 돈 내야 되니까 커뮤니티 버전 설..

DB 2022.11.14
반응형