본문 바로가기

웹 개발42

[java/sql] 쿼리 작성 시 테이블명이 빨간 색일 때 해결법 테이블이 빨간색으로 표기되는 현상 에러는 아닌 듯 하지만 자바 코드 안에서 JdbcTemplate을 이용하여 mysql과 연동하여 사용하기 위해 쿼리를 작성하던 중 아래와 같이 테이블명에 빨간색이 들어올 수 있다. 마치 잘못된 코드를 작성한 것 같은 기분이 든다. 데이터베이스 테이블이 없어서 그런 것일까? 그렇지 않다. 아래처럼 데이터베이스를 확인해보면 `fruit`이라는 이름의 테이블이 멀쩡히 존재한다. 이유는 어떤 데이터베이스 즉 지금 인텔리에서 어떤 스키마를 선택해야할지 모르기 때문이다. fruit테이블이 존재하지만 이테이블이 library라는 스키마에 있을 수도, 또 product라는 스키마에 있을 수도 있다. 그러므로 아래와 같이 스키마를 선택해주기만하면 된다. 해결법 1. fruit위를 마우스.. 2024. 2. 23.
[java] Stack (스택) 사용하기 📌Stack 알아보기 ◾Stack 이란 '쌓다'의 뜻을 가진 용어로, 접시를 쌓아 놓은 형태와 유사한 자료구조이다. 데이터를 한 방향으로 순서대로 쌓고, 꺼내는 구조이다. 가장 나중에 들어간 데이터를 가장 먼저 꺼낸다. (LIFO: Last In First Out) ◾Stack 특징 - 후입선출(LIFO): 나중에 들어온 데이터가 가장 먼저 나가는 구조이다. (Comparable인터페이스 또는 별도의 Comparator를 사용하여 지정이 가능하다.) - 단방향 입출 구조: 데이터를 한 쪽 끝에서만 접근할 수 있다. 이 접근 포인트를 'Top'이라 한다. - 빠른 작업 속도: 데이터의 추가와 제거가 상수 시간(O(1))에 이루어져, 스택은 빠른 작업 속도를 제공한다. - 제한된 접근: 스택은 가장 최근에 .. 2024. 2. 18.
[java] PriorityQueue 우선순위 큐 사용하기 📌PriorityQueue 알아보기 ◾PriorityQueue 란 우선순위를 기반으로 요소들을 저장하고 관리하는 자료구조이다. 큐(Queue)의 일종으로, 각 요소는 특정 순서에 따라 우선순위를 갖게 되며, 우선순위가 높은 요소가 먼저 처리된다. ◾PriorityQueue 특징 - 우선순위: 각 요소는 우선순위를 가지며, 기본적으로 작은 값이 높은 우선순위를 나타낸다. (Comparable인터페이스 또는 별도의 Comparator를 사용하여 지정이 가능하다.) - 최소 힙 구조: PriorityQueue는 일반적으로 최소 힙(Main Heap)구조로 구현되어 있다. - 삽입 및 삭제: 요소는 삽입될 때 우선순위에 따라 정렬되며, 가장 우선순위가 높은 요소가 항상 루트에 위치한다. - 시간복잡도: 요소 삽.. 2024. 2. 17.
[java] Map 특징 + 사용법 📌Map 알아보기 ◾Map이란 자바에서 Map은 키와 값을 쌍으로 저장하는 자료구조를 나타낸다. 인터페이스를 구현하는 클래스로는 대표적으로 HashMap, TreeMap, LinkedHashMap 등이 있다. ◾Map 특징 - Map 인터페이스를 구현한 클래스들은 키와 값을 하나의 쌍으로 저장하는 방식을 사용한다. - 요소의 저장 순서를 유지하지 않는다. - key는 중복을 허용하지 않고, value는 중복을 허용한다. - 동일한 key값으로 넣을 시 최근에 넣은 값이 적용된다. 💡HashMap은 저장 순서를 유지하지 않으나, LinkedHashMap은 저장된 순서를 유지한다. 순서가 중요한 경우에는 LinkedHashMap을 사용하는 것이 좋다. ◾Map(HashMap) 사용하기 본 글에서는 가장 많이.. 2024. 2. 16.
[lombok] 자주 사용하는 lombok 어노테이션 지난 글에서는 생성자를 자동으로 생성해주는 어노테이션에 대해 알아보았다. 이번 글에서는 Getter/Setter와 같이 빈번히 사용되는 유형들의 롬복 어노테이션에 대해 알아볼 것이다. 📌 lombok 주요 어노테이션 ◾ 생성자 생성 생성자 자동 생성은 지난 시간에 알아보았지만 다시 간단히 정리하면 아래와 같다. 자세한 설명은 아래 링크를 참조할 수 있다. 2024.02.03 - [웹 개발/java] - [lombok] 생성자 생성 어노테이션 3가지 생성자 자동 생성 @NoArgsConstructructor 매개변수가 없는 기본 생성자를 생성해준다. @AllArgsConstructor 모든 필드 값을 매개변수로 받는 생성자를 만들어준다. @RequiredArgsConstructor final이나 @NonN.. 2024. 2. 6.
[lombok] 생성자 생성 어노테이션 3가지 이번 시간에는 lombok라이브러리에서 제공하는 생성자를 자동으로 생성해주는 3가지 어노테이션에 대해 알아보고자 한다. 롬북의 의미에 대해 알아보고 생성자를 생성해주는 각각의 어노테이션의 역할에 대해 알아볼 것이다. 📌lombok ◾lombok이란? Java 의 라이브러리 중 하나로, 반복적이고 상투적인 코드를 줄이기 위한 어노테이션 기반의 라이브러리이다. 많이 사용되는 Getter/Setter나 생성자 등의 코드를 컴파일 과정에서 생성해주는 방식으로 동작하는 라이브러리이다. 개발자는 lombok의 어노테이션을 통해 간결하고 가독성 있는 코드를 작성할 수 있고, 개발의 생산성을 향상시킬 수 있다. 예를 들면 DTO와 같이 자주 변경되는 클래스의 경우 멤버 변수가 추가되거나 없어질 때마다 일일히 Gette.. 2024. 2. 3.

/* 내가 추가한 코드 */ /* 내가 추가한 코드 끝끝 */