SpringBoot DB연결 1-1. MyBatis 설정

jeonbang123·2023년 3월 17일
0

springboot

목록 보기
1/14

SrpingBoot - MyBatis 적용

MyBatis - xml에 작성한 쿼리를 자바객체와 연결해주는 역할

1. dependency 추가

<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>2.2.2</version>
</dependency>

2. application.yml 설정 추가

mybatis:
  config-location: classpath:mybatis/config/mybatis-config.xml
  mapper-locations: classpath:mybatis/mapper/**.xml

3. MyBatis 설정파일 (mybatis-config.xml)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
        <setting name="callSettersOnNulls" value="true"/>
        <setting name="jdbcTypeForNull" value="NULL"/>
    </settings>

    <typeAliases>
        <package name="com.codesign.base"/>
    </typeAliases>
</configuration>
  1. 위에 settings 설정들을 보면
  • mapUnderscoreToCamelCase : resultType이 VO객체 인경우 calmeCase가 적용된다.

    resultType이 Map인경우 별도의 클래스를 구현해서 사용

  • callSettersOnNulls : HashMap으로 받을 시, value 값이 Null 일때 칼럼이 누락되는 현상을 막아준다.
  • jdbcTypeForNull : 쿼리에 매핑되는 값이 Null일경우 에러가 나는 것을 방지해준다.

    #{memId, jdbcType=VARCHAR} -- 이거와 동일

  1. 그다음으로 typeAliases 설정이 있다.
    전에는 자바클래스마다 typeAliase를 하나씩 등록했었는데 패키지로도 등록할 수 있다.
    다만 다른 경로라도 클래스 이름이 겹치게 되면 에러가 발생한다.
profile
Design Awesome Style Code

0개의 댓글