🍳

초보 개발자의 일상

분류 전체보기 58

@Param

생각Mapper에서 @Param 어노테이션을 사용하여 값을 xml로 전달한다고는 이해하고 있는데 정확히 알지는 못하여서 정리하고자 글을 작성한다. @ParamMyBatis에서의 @Param은 SQL 쿼리에서 사용하는 파라미터를 지정하는데 사용된다.여러 개의 파라미터를 메소드에 전달할 때 각각의 파라미터에 이름을 붙여 SQL 쿼리에서 사용할 수 있게 한다. 예시 1// Controller 예시public interface UserMapper { User getUser(@Param("id") int id, @Param("name") String name);}// xml 예시 SELECT * FROM user_table WHERE id = #{id} AND name = #{name} ..

Java/SpringBoot 2024.10.28

@ModelAttribute

생각@ModelAttribute 어노테이션은 객체를 바인딩한다고 알고 있다. 객체라면 내가 만든 DTO 라고 해야하나..여하튼 좀 더 자세히 알고 싶어서 정리해두면 좋을 거 같아서 글을 작성한다. @ModelAttribute HTTP 요청의 파라미터를 객체에 바인딩할 때 사용한다.주로 폼 데이터를 처리할 때 유용하다. 등록// Controller 예시@PostMapping("/register")public String register(@ModelAttribute User user) { // user 객체에 폼 데이터가 바인딩됩니다. return "Registration successful for " + user.getName();} 폼 데이터에서 입력한 값이 User 데이터 타입의 user ..

Java/SpringBoot 2024.10.28

@RequestParm

생각@RequestParam을 과 , 을 통해 입력한 값을 HTTP 형태로 받는 정도로만 이해하고 있어서 혹시라도 잘못 이해하고 있지 않을가 싶어서 @RequestParam에 대해서 찾아보았다. @RequestParamHTTP 요청의 쿼리 파라미터나 폼 데이터로부터 값을 바인딩할 때 사용한다. Submit 이런 예시인 경우 input 태그에 안녕하세요. 입력하고 button 태그를 클릭하면 input에 입력한 값이 브라우저 화면에 이 출력된다.// Controller 예시@GetMapping("/message") public String message(@RequestParam String message) { return "Hello, " + message;} 코드 흐름사용자가 필드에 "안녕하세요"라고..

Java/SpringBoot 2024.10.28

[MyBatis] <resultMap>, <id>, <result>, <collection>

생각관리자 페이지를 구현하는 수업에서 권한을 지정하는 내용을 듣다가 user와 role을 따로 테이블을 만든 다음 MyBatis에서 연결을하는데 resultMap이라는 요소를 사용하고 이 요소 안에 , , 을 사용하는 것을 보고 정리해두면 좋을 거 같아서 글로 남긴다. 예시// 예시 SELECT * FROM users WHERE id = #{id}  요소에서 resultMap 속성을 사용하는 이유 요소에서 resultMap 속성을 사용하는 이유는 SQL 쿼리 결과를 Java 객체에 매핑할 때 보다 명확하고 유연한 방식으로 복잡한 데이터 구조를 관리하기 위해서다.부모-자식 관계, 다대다 관계 등 복잡한 객체 구조를 쉽게 표현할..

Java/SpringBoot 2024.10.28

[MyBatis] useGeneratedKeys, keyProperty

생각관리자 페이지 구현을 하는 수업을 듣는 도중에 구문에서 useGeneratedKeys="true" keyProperty="id" 이라는 코드를 보았다. 왜 이것을 사용하는지 정리를 해놓으면 좋을 거 같아서 이렇게 글을 작성한다.useGeneratedKeys="true" keyProperty="id"MyBatis에서 데이터베이스의 자동 생성 키(auto-increment key)를 사용할 때 설정하는 속성 useGeneratedKeys="true"MyBatis가 SQL INSERT 작업 후에 데이터베이스에서 자동으로 생성된 기본 키 값을객체에 자동으로 매핑한다. 즉, 데이터베이스의 기본 키가 자동 생성되는 경우(AUTO_INCREMENT) , MyBatis가 그 값을 가져와서 지정한 객체의 속성에 할당..

Java/SpringBoot 2024.10.28

일반적으로 자주 사용되는 HTTP 응답 상태 코드

* HTTP 응답 상태 코드를 정리하다가 이 모든 상태 코드를 사용하기 보다는 일반적으로 자주 사용되는 상태 코드가 있지 않을가 싶어서 Chat gpt한테 물어보았다. * 아래 상태 코드들은 웹 개발이나 API 설계에서 매우 중요한 역할을 하며, 클라이언트와 서버 간의 통신 상태를 명확하게 전달하는 데 사용된다.  1xx (정보)100 Continue: 클라이언트의 요청이 수신되었고, 요청을 계속 진행해도 좋다는 의미다.101 Switching Protocols: 클라이언트가 요청한 프로토콜로 전환하였음을 나타낸다.2xx (성공)200 OK: 요청이 성공적으로 처리되었음을 나타내며, 서버가 요청한 리소스를 반환한다.201 Created: 요청이 성공적으로 처리되었고, 새로운 리소스가 생성되었음을 의미한다..

자료 모음 2024.10.27

CMD 창으로 설치한 Ubuntu 실행시키기

* Ubuntu 프로그램을 따로 실행 시키기 귀찮아서 CMD 프롬프트에서 Ubuntu 실행시키는 방법이 없는지 찾아보니 있었다. 아주아주 사랑스러운 Chat gpt 같으니라고.. ㅎㅎ   wsl 설치된 거 보기 wsl -l -v내가 설치한 Ubuntu 실행. 여기서 나는 Ubuntu-24.04 을 설치했었기 때문에 이를 실행wsl -d Ubuntu-24.04  ▼ CMD 프롬프트에서 실행시키는 모습

자료 모음 2024.10.27

JAR 파일 실행 관련 명령어

* AWS에서 JAR 파일을 터미널 세션이 종료되어서 돌아가게 하고 싶어서 nohup이라는 키워드를 알게 되었다.그런데 프로세스 확인하는 방법을 외워야하는데 자주 사용하지 않다보니 까먹어서 기록을 하게 되었다.  실행 중인 Java 프로세스 확인ps aux | grep java  프로세스 종료kill   프로세스 강제 종료kill -9  일반적인 JAR 파일 실행java -jar .jar 콘솔창이 종료되어서 JAR 파일 실행되는 방법nohub java -jar .jar & nohub 실행시 출력과 오류를 특정 파일로 저장하고 싶은 경우nohup java -jar .jar > output.log 2>&1 & > : 표준 출력을 리다이렉트하는 데 사용. 프로그램의 정상적인 출력 결과를 다른 곳(파일)에 저장..

자료 모음 2024.10.25

@Autowired

# 수익을 위해 작성한 글이 아닙니다.  생각@Autowired가 의존성 주입을 한다고 해서 좀 더 명확하게 이해하고 싶어서 찾아보았다.  @Autowired'Spring 컨테이너에 등록된 빈'을 찾아서 '해당 필드에 주입'하는 역할을 한다.  주입한다는 말이 생소할 수도 있다.JAVA에서 인스턴스를 생성과 비슷한 거 아니야? 라고 생각할 수 있지만 엄연히 다르다.@Autowired는 Spring 컨테이너에서 등록된 Bean을 찾아서 해당 필드, 생성자, 메서드에 주입하는 역할이다. 다시한번 더 설명하자면인스턴스 생성은 Spring IoC 컨테이너에서 하고, @Autowired가 이미 생성된 Bean을 가져와 주입하는 역할을 하는 것 뿐이다.

Java/SpringBoot 2024.10.23

Spring Bean (스프링 빈)

# 수익을 위해 작성한 글이 아닙니다.# 수업을 받고 내용을 정리하기 위해 작성한 글입니다. 생각@Autowired를 이해하려고 하다보니 의존성 주입이라는 단어가 보였다. 이미 등록된 빈을 찾아서 해당 필드에 주입해주는 역할을 한다고 해서 이때 빈이란 무엇인지 궁금해졌다.  Spring Bean의 정의Spirng Framework에 관리되는 객체이며, Java 클래스로 정의된다.IoC(제어의 역전) 컨테이너에 의해 생성, 초기화, 소멸되는 모든 객체를 포함한다.  Spring Bean 특징IoC(제어의 역전)Spring Bean은 Spring IoC 컨테이너에 의해 생성되고 관리되는 객체로, 개발자가 직접 인스턴스를 생성하지 않고 컨테이너가 이를 자동으로 처리한다.IoC(Inversion of Contr..

Java/SpringBoot 2024.10.23