본문 바로가기

스프링18

[Spring] JPA Querydsl Unsupported expression Querydsl Unsupported expression 오류 해결 방법 .as()를 통해 alias 사용하기 qHolding.goods_cnt.sum().as("sumGoodsCnt"), Expressions.stringTemplate("group_concat({0})", qHolding.user.user_id).as("userIds") GoodsHoldingDto.java public class GoodsHoldingDto { private Long goodsId; private String goodsNm; private Integer sumGoodsCnt; private String userIds; @QueryProjection public GoodsHoldingDto(Long goodsId, St.. 2022. 10. 9.
[Spring] inflearn 스프링 입문 - AOP AOP가 필요한 상황 1. 모든 메소드의 호출 시간을 측정하고 싶을 때 기존 방법 - 메소드마다 시작 끝 시간 측정 src/main/java/hello/hellospring/service/MemberService.java public Long join(Member member) { long start = System.currentTimeMillis(); try { // 같은 이름이 있는 중복 회원x validateDuplicateMember(member); // 중복 회원 검증 memberRepository.save(member); return member.getId(); } finally { long finish = System.currentTimeMillis(); long timeMs = finish.. 2022. 9. 16.
[Spring] inflearn 스프링 입문 - 스프링 DB 접근 기술 6 스프링 데이터 JPA 인터페이스만으로 개발 완료. 반복적으로 개발해온 CRUD 기능도 스프링 데이터 JPA가 제공. 코드 적을 게 없음. 그냥 쓰면 됨. 스프링부트 + JPA + 스프링 데이터 JPA 프레임워크. 관계형 데이터베이스 사용 시 스프링 데이터 JPA 필수 스프링 데이터 JPA는 JPA를 편리하게 사용하도록 도와주는 라이브러리. JPA 먼저 학습. 실제 운영시 문제들 해결할 수 없음 src/main/java/hello/hellospring/repository/SpringdataJpaMemberRepository.java SpringdataJpaMemberRepository 인터페이스 생성 인터페이스가 인터페이스를 받을 때는 extends JpaRepository T : Member ID: en.. 2022. 9. 15.
[Spring] inflearn 스프링 입문 - 스프링 DB 접근 기술 4 스프링 JdbcTemplate MyBatis와 비슷한 라이브러리. JDBC API에서의 반복적인 코드를 제거한 라이브러리. sql은 직접 작성해야 함. JdbcTemplate을 써야 함. JdbcTemplate은 injection을 받을 수 있는 것은 아님. dataSource가 injection받음. 생성자가 딱 하나만 있으면 스프링 빈으로 등록되면 @Autowired 생략 가능 스프링이 자동으로 dataSource injection 해줌 src/main/java/hello/hellospring/repository/JdbcTemplateMemberRepository.java public class JdbcTemplateMemberRepository implements MemberRepository { .. 2022. 9. 15.
[Spring] inflearn 스프링 입문 - 스프링 DB 접근 기술 2 순수 JDBC 애플리케이션에서 db에 연동하여 데이터베이스에 insert, select 쿼리를 날려 db에 넣고 빼기 데이터 저장 기술의 발전 build.gradle 에 추가 implementation 'org.springframework.boot:spring-boot-starter-jdbc' 자바는 db연동을 위해 JDBC driver가 있어야 함. 이걸 가지고 서로 연동 runtimeOnly 'com.h2database:h2' db와 붙을 때 데이터베이스가 제공하는 client 필요 resources/application.properties spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=o.. 2022. 9. 15.
[Spring] inflearn 스프링 입문 - 스프링 DB 접근 기술 1 H2 데이터베이스 설치 H2 데이터베이스 설치 데이터 베이스 sql 가지고 application server와 db 연결. 연결 시 필요한 기술 JDBC 스프링이 제공하는 JDBC template - application에서 database로 sql을 편리하게 날릴 수 있음. 보다 더 혁신적인 방법 - sql조차 개발자들이 직접 짜는 것이 아닌 sql을 JPA가 쿼리를 직접 만들어 날려줌 JPA를 쓰면 객체를 바로 DB에 쿼리 없이 저장. 스프링 데이터 JPA - 스프링에서 JPA를 편리하게 쓸 수 있도록 감싼 기술 H2데이터베이스 다운로드 : https://www.h2database.com/html/download-archive.html 권한 주기 cd h2 ll cd bin ls -arlth chmo.. 2022. 9. 14.