Java Java/jpa 2024. 1. 21. JPA Entity soft delete 활용하기 데이터베이스에서 데이터를 삭제하는 방법 hard delete (물리 삭제) 실제로 delete query를 날려서 데이터베이스에서 실제로 삭제하는 방법이다. soft delete (논리 삭제) 실제로 데이터베이스에서 데이터를 삭제하는것이 아닌 삭제 여부 컬럼을 추가해서 삭제 되었음을 나타내는 방법 삭제를 하더라도 데이터를 보관해야하는 경우 논리삭제를 활용한다.(유저 정보및 결제내역 등) JPA에서 soft delete 하기 먼저 Soft Delete를 위한 준비를 하겠다. entity 종류 Member Boad Member.java @Entity @Table (name = "member") @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @SQLD.. Java/Spring-boot 2023. 7. 7. Spring boot AOP를 활용한 로그 추적하기, 메서드 시간 측정하기 https://loy124.tistory.com/397 AOP정의 및 Advice, Pointcut 작성 정리 Node기반의 Nest.js 로 개발할때도 느꼈고 Django로 개발할때도 느꼈던 사항인데 생각없이? 개발하다보면 개발의 핵심 코드와 부연코드가 같이 뒹굴어 파악이 힘든 코드가 되는경우를 많이 본것 같 loy124.tistory.com 위 게시글에서는 간단하게 AOP의 정의 및 정리를 진행해 보았다. 이제 배운 AOP를 활용해서 2가지를 해보려고 한다. 메서드별 Log 남기기 메서드별 시간 측정하기 해당 시간 측정하기는 annotation을 만든 후 Annotation이 존재하는 경우에만 측정하도록 진행한다. https://start.spring.io/ 에 접속해서 프로젝트를 Generate 해.. Java/Spring-boot 2023. 7. 6. AOP정의 및 Advice, Pointcut 작성 정리 Node기반의 Nest.js 로 개발할때도 느꼈고 Django로 개발할때도 느꼈던 사항인데 생각없이? 개발하다보면 개발의 핵심 코드와 부연코드가 같이 뒹굴어 파악이 힘든 코드가 되는경우를 많이 본것 같다. 부연 코드의 경우 한번 작성하면 중복해서 사용할 일들이 많은데. 해당 메서드 마다 일일히 달아줘야 한다고 생각해보면 번거롭기 마련이다. 위 그림처럼 핵심코드를 제외하고 메서드 마다 로그를 남긴다던가.. 메서드의 시간 측정을한다던가? 핵심코드를 제외하고 추가로 달아줘야하는 부연 코드들이 존재한다. 이런 주요 코드와 부연코드를 분리하기 위해 나온 개념이 AOP(Aspect-Oriented Programming) 즉 관점 지향 프로그래밍이라 할수 있다. 핵심코드와 관련이 크지 않은 부연 코드를 분리하여 재사.. Java/Spring-boot 2020. 4. 12. Spring-boot(mysql-mybatis-aws s3(cloudFront) + Vue.js 를 활용한 파일 업로드 하기 - 백엔드 구성 https://loy124.tistory.com/204 (s3 서버 구축하기) https://loy124.tistory.com/205?category=768865 (s3 CloudFront와 연동하기) 기초 셋팅 https://loy124.tistory.com/206 백엔드 구성편 https://loy124.tistory.com/207 프론트 구성편 https://loy124.tistory.com/208 gallery.xml INSERT INTO gallery(title, file_path) VALUES(#{title}, #{filePath}) SELECT file_path, title from gallery S3Service.java (aws S3에접속하여 해당 서비스에서 실제 파일을 업로드한다) 실제.. Java/Spring-boot 2020. 4. 12. Spring-boot(mysql-mybatis-aws s3(cloudFront) + Vue.js 를 활용한 파일 업로드 하기 - 기초 셋팅 https://loy124.tistory.com/204 (s3 서버 구축하기) https://loy124.tistory.com/205?category=768865 (s3 CloudFront와 연동하기) 기초 셋팅 https://loy124.tistory.com/206 백엔드 구성편 https://loy124.tistory.com/207 프론트 구성편 https://loy124.tistory.com/208 Spring-boot를 활용해서 mysql및 mybatis와 연동해서 aws s3에 이미지및 파일을 업로드하는 예제를 만들었다. maven 프로젝트로 진행하였다. pom.xml 4.0.0 org.springframework.boot spring-boot-starter-parent 2.2.5.RELEASE.. Java/jpa 2020. 3. 15. Jpa query method 사용하기 package com.example.study.repository; import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; import com.example.study.model.entity.User; //Repository를 사용하면 따로쿼리문을 작성하지 않아도 기본적인 CRUD가 실행이 된다 @Repository public interface UserRepository extends JpaRepository /*첫번째는 dto, 두번째는 기본키의 타입 */ { // select * from user where .. Java/Spring-boot 2020. 3. 15. 이클립스(스프링 sts)에서 Spring-boot, Jpa 사용 하기 (2) https://github.com/loy124/spring-boot-jpa loy124/spring-boot-jpa spring boot jpa 기초 CRUD 해보기. Contribute to loy124/spring-boot-jpa development by creating an account on GitHub. github.com src/test/java 에서 test code를 작성해볼 예정이다 Test Code는 버그를 줄이고 좋은 코드 퀄리티를 높이기위해 작성하며 스프링부트는 mehtod단위로 테스트를 쉽게 할수 있게 되어있다 스프링부트 프로젝트를 생성하면 기본적으로 test폴더가 존재하는데 패키지 안에 있는 java 파일을 먼저 public으로 변경해준다 (해당 class를 상속받아서 test.. Java/Spring-boot 2020. 3. 15. 이클립스(스프링 sts)에서 Spring-boot, Jpa 사용 하기 (1) https://github.com/loy124/spring-boot-jpa loy124/spring-boot-jpa spring boot jpa 기초 CRUD 해보기. Contribute to loy124/spring-boot-jpa development by creating an account on GitHub. github.com git 주소 먼저 mySql Workbench에서 스키마(adminstudy 및 table)을 생성해준다 src/main/resource에 있는 application.properties(스프링 프로젝트의 설정)에 가서 설정값들을 입력해준다 DB와 spring 프로젝트를 서로 이어주는 jdbc 설정이다 server.port=8081 # adminstudy부분은 데이터베이스의 .. 이전 1 2 3 4 ··· 11 다음