Inflearn brand logo image
Inflearn brand logo image
채널톡 아이콘
NEW

코드처럼 작성하는 SQL, Kotlin과 jOOQ로 시작하기

데이터접근 기술인 jOOQ 를 사용해보고 코틀린으로 스프링 개발을 경험해볼 수 있습니다.

5명 이 수강하고 있어요.

Thumbnail

초급자를 위해 준비한
[웹 개발, 백엔드] 강의입니다.

이런 걸 배울 수 있어요

  • 코틀린으로 스프링 개발을 배울 수 있어요

  • 데이터접근 기술로 jOOQ 를 사용해볼 수 있어요

  • MySQL 데이터베이스를 사용해봐요

SQL 을 안전하게 작성해봐요

kotlin 으로 스프링을 경험하고 데이터 접근 기술로 jOOQ 를 사용해요

JPA 를 사용하다 보면 복잡한 쿼리를 사용해야 할 때가 있는데 그럴 땐 jdbc template 을 사용하거나 native query 로 대응해야 해요. 그러다 보면 잘못된 쿼리를 사용할 위험이 있고 자칫 실수로 런타임에 에러가 발생하는 코드를 짤 수도 있습니다. 그래서 타입 안정성을 추구하게 되었고 jOOQ라는 데이터 접근 기술에 관심을 가지게 되었습니다.

jOOQ의 주요 특징입니다

  • 타입 안정성


    1. 컴파일 타임에 SQL 쿼리 오류 검출

    2. 존재하지 않는 테이블/컬럼 참조 방지

    3. 잘못된 타입 매핑 예방

  • 데이터베이스 스키마 코드 생성


  • 강력한 쿼리 빌더 DSL

  • 데이터베이스 독립성

  • 자동 쿼리 최적화

jOOQ 에 대한 개념 강의는 아닙니다

jOOQ를 사용하여 기본적인 CRUD 를 연습해보는 강의입니다.

따라서 개념을 공부하고 싶은 분들에겐 부적합합니다.

이런 내용을 배워요

(1) 코드로 SQL 작성(jooq)

jOOQ 를 사용하면 문자열이 아닌 코드로 SQL 을 작성하여

타입이 안전한 SQL 쿼리를 작성할 수 있습니다.

코드로 작성한 SQL

(2) Kotlin 으로 스프링을 연습해요

클라이언트에서 데이터를 요청받고 데이터를 보내는 연습을 해요

코틀린의 확장함수 등 편의 기능을 사용해볼 수 있어요

GlobalExceptionHanlder 일부

(3) flyway 를 한 번 사용해봐요

flyway는 데이터베이스 스키마 버전 관리 도구입니다.

  • 데이터베이스 변경사항을 버전별로 관리

  • Git처럼 변경 이력을 추적하고 관리

flyway 스키마 히스토리

수강 전 참고 사항

실습 환경

  • 운영 체제 및 버전(OS): Windows, macOS,

  • 사용 도구: 강의에선 IntelliJ IDEA 유료버전을 사용하고 있어 몇몇 기능들을 사용할 때 참여하지 못 할 수 있습니다. DB 연결과 HTTP API 요청을 IntelliJ IDEA 기능을 사용합니다. 터미널이나 POSTMAN 으로 대체 가능하신 분들은 상관없습니다.

  • 데이터베이스는 MySQL을 사용하고 있습니다. MySQL 은 Docker로 실행하고 local 환경에 MySQL 이 있다면 해당 DB 로 강의를 따라오셔도 됩니다.

  • PC 사양: 일반적인 컴퓨터로는 전부 따라올 수 있을 것입니다.

학습 자료

  • 필요한 학습자료는 강의 하단에 docker-compose 스크립트 등을 적어놓았고 요청시 강의자료로 만들 수 있는 것은 고려 후 제공하겠습니다.

선수 지식 및 유의사항

  • jOOQ는 SQL 쿼리와 유사하게 코드를 작성하게 되므로 SQL을 아는 것이 좋습니다. 기본적인 SELECT, INSERT, UPDATE, DELETE SQL 정도면 충분합니다.

  • 강의 영상 화질이나 음질이 조금 좋지 못하므로 고려해주시면 감사하겠습니다.


이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 코틀린으로 스프링하는 방법이 궁금한 사람

  • jOOQ 를 간단하게 경험 해보고 싶은 사람

  • 타입 안전한 SQL 을 작성해보고 싶은 사람

선수 지식,
필요할까요?

  • 자바

  • 코틀린

  • MySQL

  • sql

안녕하세요
코틀린자바입니다.

안녕하세요

풀스택 개발자 코틀린자바입니다

메인언어는 코틀린이고

요즘은 다양한 언어로 개발하고 있습니다

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!