본문 바로가기

개발자로 가는 길(국비지원과정)/2. Oracle23

[오라클복습 Day13] to_char를 이용해 날짜타입을 문자열로 변환해 출력하기, decode함수, case함수, join, left/right outer join 오라클 함수(function) -단일행 함수 1) 문자관련함수(날짜에서도 데이터를 가져올 수 있음) substr(컬럼명, 인덱스) substr(컬럼명, 시작, 끝) 2) 숫자관련함수 abs, ceil, floor, round, sin, cos, tan 3) 변환함수 to_char(컬럼명, '변환형식') 더보기 SELECT TO_DATE('1995/12/02') FROM DUAL; --문자열 SELECT TO_CHAR(TO_DATE('1995/12/02'), 'YYYY-MM-DD DAY') FROM DUAL; : TO_CHAR는 문자타입이 아닌 (날짜타입)을 문자열로 바꾸는 함수이기때문에 '1991/06/07' 이런 형식으로 문자열이 오면 오류가 난다. 그렇기 때문에 TO_DATE함수를 사용해 날짜함수로 .. 2022. 1. 17.
[오라클복습 Day12] DDL, DML, DCL, TCL, 테이블 생성, FK 2개로 PK 복합키 만들기, ROWNUM, 문자열, 숫자 관련 함수 객체 : 테이블, 시퀀스(일련번호 발생), 뷰, User, 동의어(시노님), 인덱스 DDL -Create, Alter, Drop DML- Insert, Delete, Update, Selete DCL(관리자가 부여하는 명령문)- Grant, Revoke 일반적으로 권한들을 묶어서 한꺼번에 부여, 이렇게 묶인 권한을 Role이라고 한다. TCL - Transaction : commit, rollback, savepoint 원본은 하나고 복사본에 작업을 하는데 commit을 하면 복사본의 내용이 원본에 덮어쓰기 하는 것. desc 내림차순 asc 오름차순 select [distinct] 컬럼명(*) from 테이블명 where 조건절 order by 컬럼명 [desc]; 1) 비교연산자 : > = 2022. 1. 13.
[오라클복습 Day11] DDL, DML, DCL, select, in, 와일드카드, LIKE 시스템 계정으로 연결한 후 lock 풀어주기 ! conn system/oracle로 연결 후 alter user hr identified by hr account unlock; 해서 락 풀어주기! ALTER는 데이터의 구조를 수정, 변경 DROP은 데이터를 복구할 수 없다. 조심조심 더보기 select 컬럼명 from 테이블명 where 조건절 order by 컬럼명; Oracle에서는 별칭을 쓸 때는 " ", 날짜와 값을 쓸 경우 ' '을 사용한다. =과 유산한 연산자 like Den D__ D% 이런 식으로 표현 가능하며 와일드카드는 =를 읽지 못하기 때문에 %, =을 인식하는 연산자 like를 사용해줘야 한다. Oracle에서의 논리연산자는 and, or, not(단항연산자)이 있다. between.. 2022. 1. 12.
11주차 질문_자바, 오라클 연동 [질문1] 해당 SQL구문이 실행되기 위해서 전달 받아야 하는 값이 있을 경우에는 parameter type을 반환 해줘야 하는 값이 있을 경우에는 result type을 지정해야 한다. 이때 type은 mybatis-config.xml에서 지정한 type Alias를 사용한다. → [안센세 설명] int return은 resultType을 미지정해도 실패시 0을 들고 온다. 쭉 dao까지 와서 int result = mapper.insertBoard(board)가 나오는데 처리 실패시 0이 자동 반환된다. TRUE/FALSE가 필요하면 int result는 자동 0이기 때문에 기재힐 필요가 없다. 하지만 select와 같이 무언가 정보를 가져와야 할 때는 result 명세로, 오라클에서 받아서 사장님에.. 2021. 6. 5.
[210604금] 게시판 작업 완료 코드 있어야할 파일 및 클래스 패키지 [board.dao] dao, service, ui, vo ▶ BoardDao.java 더보기 package board.dao; import java.util.List; import java.util.Map; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import board.vo.Board; public class BoardDao { SqlSessionFactory factory = MybatisConfig.getSqlSessionFactory(); public int insertBoard(Board board) { SqlSession sess.. 2021. 6. 4.
[210604금] 게시판 Board 작업 완료(동적쿼리를 이용한 글 찾기) [글 검색 searchBoard()] 제목, 내용, 작성자 무엇으로 출력할 것이냐 웹에서는 클립과 검색을 통해 출력을 할 것. UI → Service 해당 인터페이스의 메소드와 동일하게 UI에서 List list = boardService.searchBoard(searchItem, searchWord);의 형태가 Dao에 가기 전에는 Map 형태로 바뀌어야 한다. public List searchBoard(String searchItem, String searchWord)에서 String ,String이지만 Map map = new HashMap();에서 String, Object인 이유로는 문자가 아닌 숫자로 검색할 수 있기 때문이다. 키워드를 가져오는 작업 UI → Service → DAO searc.. 2021. 6. 4.
[210603목] 새프로젝트 자바와 오라클을 연결해 게시판 만들기(인터페이스, 게시글 등록, 전체 글 조회, 글 삭제, 글 검색) 자바와 DB(오라클) 흐름 순서 살펴보기! UI → Service → Dao → (Mybatis + Mapper) → DB 어제에 이어서 오류난 곳부터 시작! 참고 ) UI는 원래 보통 HTML이기 때문에 만약 글 검색을 다 못하는 경우에는 웹에 가서 할 계획이다. ▶글 검색 쿼리를 먼저 살펴보자면 select * from board where title like '%날씨%'; select * from board where writer like '%홍길동%'; 날씨나 홍길동과 같으면 키워드를 변수 || #{title} || 같이 표현해 하면 전달하기 어렵지 않지만, title과 writer는 컬럼명이기 때문에 변수로 쓰기 어렵다. 이럴 때 HashMap을 이용해 키와 밸류로 할 수 있다. select *.. 2021. 6. 3.
[210602수] 자바, 오라클 연동 전체조회, 새로운 프로젝트(게시판 board 생성) UI → Service → dao → DB [전체조회] ①쿼리를 먼저 생각해 보고 select * from userinformation; 1개의 정보를 빼는 select에서 where절만 빼면 된다. select에서의 컬럼명과 vo의 멤버필드명이 같아야 한다. ②UI에서 selectAll 메소드를 만들어 준다. UI → Service List list = service.selectAll(); list에 정보를 담아오게 된다. List list = service.selectAll();에서 오류나는 이유는 service에 .selectAll 메소드가 없기 떄문이다. dao에서도 .selectAll 메소드가 없기 떄문에 만들어 진다. 반드시 return!! 주의 UserDAO로 이동해 .selectAll 메소.. 2021. 6. 2.
[210601화] 오라클 , 자바 연동 흐름 읽기, selectOne, delete ▶ 사용자 → UI → SERVICE → (DAO) → DB ▶ DB(에서는 작업 여부에 따라 Mybatis를 통해) → DAO → SERVICE → UI로 전달 한 방향으로 갔다가 다시 한 방향으로 되돌아 온다. 최종적으로 받는 값은 int result이다. 0 or 1에 따라 작업이 성공했는지 아닌지 알 수 있다. ①User.ui는 사용자의 입장에서 화면에서 입출력해주는, 보는 부분을 처리해주는 역할을 한다. ②User.ui는 서비스 객체(UserService)를 만들도록 생성을 함. ③DB에 접촉하기 위해 dao쪽으로 코드를 보낸다. ④dao쪽에서는 요청이 들어온 것을 받아서 DB에 접속 : dao가 DB에 접속하기 위해서는 DB는 자바의 경계가 아닌 밖에 있는 개념이기 때문에 direct로 접촉하.. 2021. 6. 1.