전체 글 164

[Java] Spring Controller @PathVariable 사용법

스프링 컨트롤러에서 @PathVariable 어노테이션을 사용하는 방법에 대해 설명드리겠습니다. @PathVariable 사용법PathVariable은 URL 경로에서 특정 부분을 추출해서 컨트롤러의 파라미터로 직접 바인딩할 때 사용됩니다.@GetMapping("/users/{id}")public String getUser(@PathVariable Integer id) { return "user id=" + id;}/users/{id}를 /users로 사용하면 id에 null이 들어가는게 아니라 /users라는 URL로 매핑이 됩니다.만약 해당 URL이 있다면 그 URL과 일치하는 API가 실행되고, 없다면 404 오류가 발생합니다.  Spring에 의해 PathVariable로 들어온 값을 지정된..

[Java] Spring @RestController + @ModelAttribute 사용법 및 예제

스프링에서 @RestController와 @ModelAttribute 어노테이션을 같이 사용해서 값을 받는 방법에 대해 설명드리겠습니다. @ModelAttribute 사용법ModelAttribute는 데이터를 객체에 바인딩할 때 사용됩니다. 우선 ModalAttribute를 적용할 객체를 만들었습니다.import lombok.Getter;import lombok.Setter;import lombok.ToString;@Getter@Setter@ToStringpublic class TestDto { private Integer number; private String name;} Lombok의 Getter와 Setter 어노테이션을 사용했습니다.해당 객체를 컨트롤러에서 사용해보겠습니다.@GetMa..

[Java] Spring Controller @RequestParam 사용법 및 예제

스프링 컨트롤러에서 @RequestParam을 사용해서 값을 하나 혹은 여러개 받는 방법을 예제를 통해 설명드리겠습니다. @RequestParam 사용법RequestParam 어노테이션은 HTTP의 쿼리 스트링이나 폼 데이터를 메소드의 파라미터로 바인딩할 때 사용됩니다.기본적인 사용법은 다음과 같습니다. import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class TestController { ..

[Java] DAO, DTO, VO 의미와 차이점, 예제

DAO(Data Access Object), DTO(Data Transfer Object), VO(Value Object)의 의미와 차이점을 예제와 함께 설명드리겠습니다. DAO(Data Access Object) DAO는 데이터베이스 소스에 직접 접근하는 작업을 수행하는 객체입니다. 예를 들어, 다음과 같은 코드가 있습니다. private ResultSet getData(Connection connection) throws SQLException { PreparedStatement psmt = connection.prepareStatement("SELECT * FROM USERS WHERE ID = ?"); psmt.setInt(1, 10); ResultSet resultSet = psmt.execut..

[Java] HashMap get - key로 특정 값(value) 가져오기

HashMap에서 key를 이용해서 값을 가져오는 방법에 대해 설명드리겠습니다. get 메소드 사용법우선, 값을 가져올 Map을 생성합니다.Map birthByName = new HashMap();birthByName.put("Kim", 1980);birthByName.put("Lee", 2000);birthByName.put("Park", 1999);이름과 태어난 년도로 Map을 생성하였습니다. Map에서 값을 가져오려면 get 메소드를 사용하면 됩니다.System.out.println("birthByName.get(\"Kim\") = " + birthByName.get("Kim"));System.out.println("birthByName.get(\"Kwon\") = " + birthByName.ge..

[Java] HashMap 사용법 및 예제

HashMap이란?자바의 HashMap은 많이 사용되는 자료구조 중의 하나입니다.Map은 키와 값을 한 쌍으로 하여 데이터를 저장하는 자료구조입니다.Map에서 데이터를 찾을 때는 키를 사용해서 데이터의 위치를 계산하기 때문에 조회속도가 빠릅니다.HashMap은 내부에서 해시 테이블을 데이터를 저장하는 특징을 가집니다.Java HashMap 공식 문서 바로가기 HashMap (Java Platform SE 8 )If the specified key is not already associated with a value (or is mapped to null), attempts to compute its value using the given mapping function and enters it into t..

[Java] 난수 생성 및 범위 지정(Math.random, java.util.Random 사용)

자바에서 난수를 생성하는 방법은 대표적으로 Math.random() 메서드를 사용하는 방법, java.util.Random 클래스를 사용하는 방법 두가지가 있습니다. Math.random난수 생성 기본 사용법double random = Math.random();System.out.println("random = " + random); // 0.0 ~ 1.0 사이의 난수 생성 Math.random() 메소드를 사용해서 난수를 생성하면 0.0과 1.0 사이의 난수가 생성됩니다.1.0은 포함되지 않습니다. 범위 지정 방법for (int i = 0; i  1~10 범위의 난수를 생성하는 예제 코드입니다.    java.util.Random난수 생성 기본 사용법Random random = new Random();..

[MySQL] ALTER TABLE ADD, MODIFY 컬럼 여러개 추가 및 수정

ALTER TABLE 쿼리를 사용해서 테이블에 컬럼을 추가하거나 수정하는 방법에 대해 설명드리겠습니다. 컬럼 추가# 단일 컬럼 추가ALTER TABLE [테이블명] ADD [컬럼명] [데이터타입] [NOT NULL] [DEFAULT]ALTER TABLE [테이블명] ADD COLUMN [컬럼명] [데이터타입] [NOT NULL] [DEFAULT]# 여러 컬럼 추가ALTER TABLE [테이블명] ADD COLUMN [컬럼명1] [데이터타입] [NOT NULL] [DEFAULT],ADD COLUMN [컬럼명2] [데이터타입] [NOT NULL] [DEFAULT],... 컬럼 여러개를 추가할 때는 쉼표로 구분하면 됩니다. 예제단일 컬럼 추가alter table tb_1 add column_1 varchar(..

[MySQL] CREATE USER 사용자 추가 및 GRANT 권한 부여

CREATE USER 사용법CREATE USER ''@'' IDENTIFIED BY '' username은 생성할 유저의 이름, host는 접속할 수 있는 호스트를 지정합니다.로컬 호스트에서만 접속하게 하고 싶다면 localhost로, 외부 접근을 허용하려면 %를 사용할 수 있습니다.password는 사용자의 비밀번호입니다. 유저 생성 및 삭제, 유저 리스트 조회하는 쿼리입니다.# 유저 생성CREATE USER 'test'@'localhost' IDENTIFIED BY '1234';# 외부 접근 허용CREATE USER 'test'@'%' IDENTIFIED BY '1234';# 유저 삭제DROP USER 'test'@'localhost';# 유저 리스트 조회SELECT * FROM mysql.user;..

[Java] Spring Boot 3 MySQL JPA 연동하기

Spring Boot 3에서 JPA를 연동하는 방법을 설명드리겠습니다.(Maven, Gradle 포함) 연동 준비데이터베이스 생성프로젝트에서 사용할 데이터베이스를 생성합니다.spring_boot라는 데이터베이스를 생성하였습니다. 의존성 추가maven ... org.springframework.boot spring-boot-starter-data-jpa com.mysql mysql-connector-j runtime ... gradledependencies { ... implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.mysql:mysql-connector-j' ..

728x90