| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 배열
- jQuery
- dao
- DOM
- oracle
- mybatis
- ES6
- 현대이지웰java풀스택개발자아카데미6월
- error
- Java
- 부트캠프후기
- node.js
- MySQL
- strpos()
- 노션
- JDBC
- 멀티캠퍼스it부트캠프
- explode()
- 정규식
- myshortcut
- DTO
- JavaScript
- formula
- php
- 객체지향
- 깃허브
- INSERT
- 오류
- react
- OOP
- Today
- Total
목록oracle (5)
코딩짜는 일상
📚 서론이번주는... 제가 최근에 어마어마한 업보 청산을 당해서......그것에 대해 기록 해볼까 합니다.🥲 시작은 2개 이상의 테이블을 JOIN하여 데이터를 가져올 때2개 테이블들의 필드가 전부 있는 별도의 DTO를 만들어야 하는 번거로움에서 시작되었습니다. 이때 강사님께 Map를 사용하여 데이터를 받는 방법도 있다고 조언 받았고 단일 테이블을 조회하는 게 아니면 대부분 Map을 이용하여 서비스를 구현하게 되었습니다.🤪 프로젝트 초반에는 별 문제가 없었는데중반 쯤 지나 구현할 리엑트 컴포넌트가 늘어나면서작업을 좀 줄여보려고 컴포넌트를 분리하고 재사용하면서 문제가 생겼습니다.😓 1️⃣ 필드명 스타일 통일의 필요성오라클은 큰따옴표(")를 쓰지 않는 한 대소문자 구분을 하지 않습니다. 때문에 테이..
📚 서론지난주에 이어 프로젝트에서 MyBatis로 기능을 구현할 때 php와의 차이점을 정리해 보겠습니다. php는 디테일하게 언급 안 할거라 써보신 분들을 독자로 가정하고 쓴 글이라고 보시면 될 것 같습니다. 주인공은 어디까지나 MyBatis와 오라클이니까요! 🎷 INSERT 직후 기본키(Primary key) 가져오기현재 저희 프로젝트의 상품 데이터에는 일반적인 상품 데이터 외에도그 상품에 포함되는 성분에 대한 데이터도 저장되고 있습니다. 성분 데이터는 저희 프로젝트의 핵심이라상품 데이터 외에도 여러 테이블과 JOIN되어야 하기 때문에별도의 매핑 테이블을 만들어 JOIN할 때 참조로 사용하고 있습니다. 그래서 새로운 상품을 등록하려면,먼저 상품을 등록한 후에 기본키(Primary key..
📚 서론과거 PHP를 쓸 때는 sql_query() 함수를 사용해 DB 통신을 구현했었습니다. 쿼리를 문자열로 작성해 param으로 제공하면 되는 간단한 방식이기에if문을 이용한 문자열 편집으로 간단하게 쿼리를 조립할 수 있었지만... 사실 이건 인젝션 공격에 취약하기 때문에 그리 현명한 선택은 아니었습니다.😥 물론 자체적으로 입력값에 UNION을 차단하는 기능을 추가해 방어했지만 여전히 위험요소가 있었죠...🥲 현재 팀 프로젝트에선 MyBatis를 채택해 DB 통신을 구현하고 있습니다. SQL을 직접 작성할 수 있어서 복잡한 쿼리 작성이 번거롭지 않고쿼리는 모두 XML에 모아두기 때문에 유지보수나 협업에도 용이하고무엇보다 값 바인딩 #{} 을 통해 입력값을 쿼리에 삽입하기 때문에 SQL 인젝션을..
📕 30일 배운 것서브 쿼리WHERE절 서브 쿼리EXISTS, NOT EXISTS 연산자 사용: 튜플의 존재여부 확인NOT EXISTS와 NOT IN의 차이ALL 연산자 사용: 모든 결과를 만족하면 참ANY, SOME 연산자 사용: 결과중 하나라도 만족하면 참서브 쿼리 유형스칼라 서브 쿼리인라인 뷰중첩 서브 쿼리오라클 내장 함수수학 함수ROUND()문자 함수REPLACE(), LENGTH(), LENGTHB(), SUBSTR(), CONCAT(), ||순위 출력 함수RANK(), DENSE_RANK(), ROW_NUMBER(), ROWNUM요약정리 함수ROLLUP(), CUBE(), GROUPING SETS(), PIVOT()날짜 함수CURRENT_DATE, SYSDATE, EXTRACT(), CURR..
📕 27일 배운 것sqlDeveloper 기본 조작 데이터베이스란?DBMS시스템 상세 구조데이터 구조논리적 구조물리적 구조데이터 언어 종류데이터 정의어 (DDL : Data Definition Language)데이터 조작어 (DML : Data Manipulation Language)데이터 제어어 (DCL : Data Control Language)관계형 데이터 모델릴레이션튜플제약기본키외래키SQL데이터 정의어 (DDL : Data Definition Language)CREATEALTERDROP📙 새로 알게 된 것릴레이션 & 튜플릴레이션 = 테이블튜플 = 레코드, 로우(row), 행오라클은 사용하는 단어가 약간 다르다는 걸 알게 됨.📕 28일 배운 것데이터 조작어 (DML) - INSERT시퀀스DUA..