본문 바로가기

반응형

분류 전체보기

(218)
[Spring] Path with "WEB-INF" or "META-INF" Spring Boot Gradle 프로젝트 초기 세팅 후 간단한 테스트를 위해 controller 및 jsp 파일을 만들어 준비된 메서드를 호출했다. 하지만 결과는 404. Console에 찍히는 에러 메시지는 다음과 같다. ResourceHttpRequestHandler : Path with "WEB-INF" or "META-INF" Spring Boot에서 Tomcat을 사용할 때 JSP를 처리하는 서블릿을 추가하지 않아서 발생한 에러. Gradle의 경우 build.gradle에 다음 내용을 추가한다. implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'javax.servlet:jstl' Maven의 경우 pom...
[JPA] Part.02_Hibernate를 활용한 JPA 사용(CRUD 연습) 사전 세팅 아래와 같이 3개의 파일을 생성한다. 파일 명칭은 본인이 컨트롤하는 테이블 명칭에 빗대어 작성해본다. - Product.java : DB에 테이블과 매칭되는 클래스. Entity를 생성한다. - ProductRepository.java : DB Layer에 접근하는 인터페이스 - ProductController.java : DB를 브라우저에서 요청하여 호출할 수 있도록 해주는 컨트롤러 Product.java package com.example.test.domain; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persisten..
[JPA] Part.01_프로젝트 기본 세팅 개발환경 - Spring Boot - Gradle - MySQL 프로젝트 생성 File - New - Spring Starter Project 스프링부트 버전 및 의존 설정 DB 연결 설정 스프링부트 버전 및 의존 설정 localhost:자신이 사용하는 포트 번호/생성한 스키마 이름 본인은 MySQL을 사용하기 때문에 MySQL Workbench에서 3307 포트를 사용하는 root 계정 생성 후 jpa라는 이름의 스키마를 생성했다. spring.datasource.url=jdbc:mysql://localhost:3307/jpa spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name..
JPA란 무엇인가 우선, MyBatis란 무엇인가 - JDBC를 좀 더 편하게 사용할 수 있도록 객체를 SQL이나 저장 프로시저와 매핑해주는 SQL Mapper. 객체지향 언어인 자바가 RDBMS를 좀 더 쉽게 다루기 위해 MyBatis를 사용한다. MyBatis의 장점은 다음과 같다. 다른 프레임워크들에 비해 간단하다. 소스 코드와 SQL의 분리로 생산성이 뛰어나다. SQL을 직접 다룰 수 있어 복잡한 쿼리, 함수 및 저장 프로시저 등의 사용이 가능하다. 하지만 단점도 뚜렷하다. 반복적인 코드와 CRUD SQL을 필요 시 계속 작성해야 한다. SQL과 데이터베이스 벤더에 대한 종속성(DB 변경 시 해당 DB 특성에 맞게 SQL 구문, 타입으로 수정해야 한다) 객체 지향의 장점을 살릴 수 없고, 단순히 객체를 데이터 전달..
[LeetCode] Roman to Integer | 난이도: Easy 문제 Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000 로마자를 정수로 변환. 예시 Example 1 Input: s = "III" Output: 3 Example 2 Input: s = "IV" Output: 4 Example 3 Input: s = "IX" Output: 9 Example 4 Input: s = "LVIII" Output: 58 Explanation: L = 50, V= 5, III = 3. Example 5 Input: s = "MCMXCIV" Output: 1994 Explanation: M = ..
[LeetCode] Palindrome Number | 난이도: Easy 문제 Given an integer x, return true if x is palindrome integer. An integer is a palindrome when it reads the same backward as forward. For example, 121 is palindrome while 123 is not. 주어진 정수 x의 값이 palindrome(회문(回文))일 경우 true를 리턴한다. *회문(回文) : madam이나 nurses run처럼 앞에서부터 읽으나 뒤에서부터 읽으나 동일한 단어나 구(출처: 네이버) 예시 Input: x = 121 Output: true 예시 Input: x = -121 Output: false Explanation: From left to right, ..
[LeetCode] Reverse Integer | 난이도: Easy 문제 Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [−2³¹, 2³¹ − 1], then return 0. 주어진 32비트 정수 x값이 있다. 정수 x 자릿수를 역으로 바꾸어라.만약 역으로 바꾼 정수의 값의 범위가 −2³¹, 2³¹ − 1를 넘어갔을 경우, 0을 반환한다. 예시 Input: x = 123 Output: 321 말 그대로 숫자를 반대로 뒤집는 것. 답안 class Solution { public int reverse(int x) { long res = 0; while(x != ..
[LeetCode] Two Sum | 난이도: Easy 문제 Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice. You can return the answer in any order. 여기 주어진 정수 배열 nums와 정수 target이 있다. 정수 배열 nums의 인덱스 값의 합이 target과 동일한 경우 해당 인덱스 값을 리턴하시오. 예시 Input: nums = [2,7,11,15], target ..

반응형