분류 전체보기 142

스프링부트 개발환경 구성하기 (7) 페이징 (Mybatis에서 Pageable)

포스팅 순서는 아래와 같다. OpenJDK 17 설치 STS 4 설치 스프링부트 프로젝트 생성 메이븐 Local Repository 설정 DB 설계와 REST API 설계 mybatis 연동과 게시판 목록 조회 페이징 (Mybatis에서 Pageable) (현재 포스팅) 동적 정렬처리 Pageable의 오해 Spring Data에서 제공하는 Pageable을 사용하면 페이징 작업을 좀 더 간편하게 개발할 수 있다. 처음에는 Pageable에 대해 알게 되었을 때, JPA에서만 사용할 수 있는 것으로 생각했다. 왜냐하면 대다수의 블로그에서 Spring Data JPA에서 제공되는 기능이라는 식으로 잘못된 정보를 기술하고 있었기 때문이다. 하지만 Mybatis에서도 사용할 수 있다. Spring Data에서..

Spring Boot 내장톰캣 war 배포시 한글 깨짐 설정

문제 발생 spring boot로 제작된 프로젝트를 실행하려면, 프로젝트를 war 또는 jar 파일로 export 하여 아래처럼 해당 파일을 실행하면 된다. java -jar example.war 실행해보니 톰캣 서버가 정상적으로 시작되었지만, 로그로 남긴 한글들이 모두 깨짐 현상이 발생하였다. 해결 방법 파일 인코딩 문제이므로 java -jar 파일 실행 시 직접 encoding을 설정해 주면 된다. java -Dfile.encoding=UTF-8 -jar example.war

스프링부트 개발환경 구성하기 (6) Mybatis 연동과 게시판 목록 조회

📢 2024년 2월 기준으로 포스팅 내용을 업데이트하였습니다. 포스팅 순서는 아래와 같다. OpenJDK 17 설치 STS 4 설치 스프링부트 프로젝트 생성 메이븐 Local Repository 설정 DB 설계와 REST API 설계 mybatis 연동과 게시판 목록 조회 (현재 포스팅) 페이징 (Mybatis에서 Pageable) 동적 정렬처리 1. Mybatis 라이브러리 추가 기본적으로 생성되는 스프링부트 프로젝트는 Mybatis를 포함하지 않는다. 따라서 스프링부트에서 Mybatis를 설정할 수 있는 라이브러리를 설치해야 한다. 아래의 mybatis-spring-boot-autoconfigure 요구사항 표를 보면 Spring Boot, Java 버전에 따라 버전이 명시되어 있다. 내 Spring..

H2 console 접속 오류 해결법 : Database "C:/Users/사용자명/test" not found, either pre-creat

문제 발생서버를 실행시키고 http://localhost:8080/h2-console 를 입력하여 H2 콘솔 접속시 다음과 같은 에러가 발생한다. 데이터베이스 "C:/Users/사용자명/test"를 찾을 수 없다고 나온다. 말그대로 C:\Users\사용자명 폴더에 test 파일이 없어서 생긴 문제이므로 직접 만들어주자.Database "C:/Users/사용자명/test" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-214] 90149/90149 (Help)해결 방법C:\Users\사용자명 경로에 빈 텍스트 파일을 생성하고 파일명을 확장자 포함하여 ..

Computer Science/DB 2023.10.14

스프링부트 개발환경 구성하기 (5) DB 설계와 REST API 설계

📢 2024년 2월 기준으로 포스팅 내용을 업데이트하였습니다. 포스팅 순서는 아래와 같다. OpenJDK 17 설치 STS 4 설치 스프링부트 프로젝트 생성 메이븐 Local Repository 설정 DB 설계와 REST API 설계 (현재 포스팅) mybatis 연동과 게시판 목록 조회 페이징 (Mybatis에서 Pageable) 동적 정렬처리 DB 설계 https://aquerytool.com/에서 ERD를 그린 후 모든테이블 생성 SQL을 생성해주는 기능이 있으므로 간단하게 스키마 구성을 할 수 있다. 프로젝트 구조 설계 src/main/java com.company.helloBoard common - code - config - controller - exception - securify - ut..

스프링 @어노테이션 기본적인 사용법 알기

이번 포스팅에서는 기본적인 스프링 어노테이션 사용법을 연습해 볼 것이다. 헷갈리는 어노테이션들이 많으니 예제를 보며 감을 익히는 것을 추천한다. @Controller @Controller 어노테이션은 HTTP 요청을 처리하는 컨트롤러를 의미하며, Spring MVC 뷰를 반환하는 데 사용된다. 즉 View(화면)을 리턴할 때 쓰인다. 아래의 예시처럼 리턴 타입이 String인 경우 src/main/resources/templates 경로에서 리턴값이 "home".html 파일을 찾아서 해당 뷰를 보여준다. HomeController.java @Controller public class HomeController { @GetMapping(value = "/") public String home() { re..

스프링부트 개발환경 구성하기 (4) 메이븐 Local Repository 설정

📢 2024년 2월 기준으로 포스팅 내용을 업데이트하였습니다. 포스팅 순서는 아래와 같다. OpenJDK 17 설치 STS 4 설치 스프링부트 프로젝트 생성 메이븐 Local Repository 설정 (현재 포스팅) DB 설계와 REST API 설계 mybatis 연동과 게시판 목록 조회 페이징 (Mybatis에서 Pageable) 동적 정렬처리 스프링부트 프로젝트 구조 중요한 부분 1. BasicBoardApplication.java package com.company.basicBoard; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; ..

스프링부트 개발환경 구성하기 (3) 스프링부트 프로젝트 생성

📢 2024년 2월 기준으로 포스팅 내용을 업데이트하였습니다. 포스팅 순서는 아래와 같다. OpenJDK 17 설치 STS 4 설치 스프링부트 프로젝트 생성 (현재 포스팅) 메이븐 Local Repository 설정 DB 설계와 REST API 설계 mybatis 연동과 게시판 목록 조회 페이징 (Mybatis에서 Pageable) 동적 정렬처리 스프링부트 프로젝트 생성 스프링부트 프로젝트를 생성하려면, STS 툴에서 Spring Start Project 기능으로 새 프로젝트를 생성할 수도 있고, Spring Initializr로 프로젝트를 쉽게 생성할 수 있다. 이것 또한 개인 취향에 따라 선택하면 된다. 여기서는 2번째 방법으로 만들 것이다. 해당 사이트로 접속하면 꽤 복잡해 보이는 설정에 지레 겁을..

스프링부트 개발환경 구성하기 (2) STS 4 설치

📢 2024년 2월 기준으로 포스팅 내용을 업데이트하였습니다.포스팅 순서는 아래와 같다.OpenJDK 17 설치STS 4 설치 (현재 포스팅)스프링부트 프로젝트 생성메이븐 Local Repository 설정DB 설계와 REST API 설계mybatis 연동과 게시판 목록 조회페이징 (Mybatis에서 Pageable) 동적 정렬처리 STS 4 설치스프링을 개발할 때, 보통 2가지 방법으로 개발 도구를 설정하곤 한다.스프링 전용의 STS 툴을 이용하거나Eclipse, IntelliJ, VsCode에서 플러그인 형태로 사용하거나둘 중에 뭐가 더 좋은걸까? 개인적으로 나는 뭐든 상관없고, 본인 취향이라고 생각해서 나는 스프링 전용툴인 STS 4를 설치할 것이다. https://spring.io/tools 사이..

스프링부트 개발환경 구성하기 (1) OpenJDK 17 설치

📢 2024년 2월 기준으로 포스팅 내용을 업데이트하였습니다. 이번 포스팅에서 Spring Boot를 이용하여 간단한 게시판 프로젝트를 만들어 보려고 한다. 개발에 필요한 프로그램 설치부터 게시판, 로그인 기능 구현까지 차근차근 단계별 세팅을 진행할 생각이다. 최종 목표는 스프링 부트 개발환경을 이해하고, Rest API 형식으로 게시판 API를 설계하고, 스프링 시큐리티를 사용하여 로그인을 구현하는 것이다. 포스팅 순서는 아래와 같다.OpenJDK 17 설치 (현재 포스팅)STS 4 설치스프링부트 프로젝트 생성메이븐 Local Repository 설정DB 설계와 REST API 설계mybatis 연동과 게시판 목록 조회페이징 (Mybatis에서 Pageable) 동적 정렬처리 시작 전 준비사항이번 포스..