Spring DB 연동 Spring에서 DB 연결하는 방법을 간단히 알아보자. 1. gradle 설정 build.gradle에 아래와 같이 의존성을 추가해 주자. dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' //JDBC implementation 'org.springframework.boot:spring-boot-starter-jdbc' //mariadb runtimeOnly 'org.mariadb.jdbc:mariadb-java-client' } 2. DB datasource 설정 Spring project의 application.properties에서 아래와 같이 datasource 정보를 설정해 주자..
동적 SQL MyBatis를 사용하는 이유는 편리한 동적 SQL 기능 때문이다. 동적 쿼리를 위해 제공되는 기능은 아래와 같다. if choose(when, otherwise) where foreach MyBatis 공식 매뉴얼: https://mybatis.org/mybatis-3/ko/index.html MyBatis 스프링 공식 매뉴얼: https://mybatis.org/spring/ko/index.html if 단순한 if 문이다. if문의 test 조건에 만족하면 해당 SQL문을 추가한다. SELECT * FROM BLOG WHERE state = ‘ACTIVE’ AND title like #{title} choose - when, otherwise 자바의 switch 구문과 비슷하다. swi..
MyBatis란? MyBatis는 JdbcTemplate이 제공하는 대부분의 기능을 제공한다. 그러나 JdbcTemplate의 문제점 중 하나인 여러 줄의 String 형 sql을 작성해야 한다는 점을 MyBatis를 이용하여 해결할 수 있다. MyBatis는 SQL을 xml에 편리하게 작성할 수 있고, xml 내에서 동적 쿼리를 매우 편리하게 작성할 수 있다. JdbcTemplate은 스프링에 내장된 기능이고, 별도의 설정 없이 사용할 수 있지만, MyBatis는 약간의 설정이 필요하다. 따라서 동적쿼리와 복잡한 쿼리를 많이 사용하는 경우에는 MyBatis를 사용하고, 단순한 쿼리들이 많다면 JdbcTemplate을 사용하는 것이 좋을 것이다. 사용 설정 build.gradle에 MyBatis 의존관계..