티스토리 뷰





반응형

DB에는 컬럼명이 보통 스네이크형식 이며 board_no 이렇게 들어간다.

하지만 서버에서 객체의 멤버 변수의 이름은 카멜케이스로 boardNo이렇게 들어간다.

그렇기 때문에 returnType을 VO로 지정했을 경우 명칭이 달라서 데이터를 못받아오는 경우가 생기기 마련이다. 

 

하나의 방법으로 별칭을 지정해서 select board_no as boardNo로 할 수도 있겠지만 너무 번거로운 작업이기 때문에 자동으로 변환해주는 방법을 설정할 것이다.

1. application.yml 설정하기

mybatis:
  config-location: classpath:mybatis-config.xml  //혹시 오류가 난다면 여기 부분 제거
  configuration:
    map-underscore-to-camel-case: true

2. Mapper.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.jihoon.wancs.domain.BoardRepository">
  <select id="getList" resultType="com.jihoon.wancs.domain.Board">
    SELECT *
    FROM board board JOIN user user
    on board.user_no = user.user_no;
  </select>
</mapper>

3. Board객체

@Builder
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class Board {
  private Long boardNo;
  private int views;
  private int  categoryNo;
  private int userNo;
  private String title;
  private String content;
  private char useYN;
  private Date createdDate;
  private Date updatedDate;

}

 

 

 

출처 : https://ayoteralab.tistory.com/entry/Spring-Boot-10-mybatis-camelCase-%EC%A0%81%EC%9A%A9

반응형

'Back-end > Spring' 카테고리의 다른 글

Spring Batch와 Scheduler  (0) 2020.03.12
Mock이란?  (0) 2020.02.18
Spring Boot로 Mysql 연동하기(Mybatis) with gradle  (0) 2020.02.07
Spring 싱글톤과 IoC컨테이너  (0) 2019.05.31
Spring 오브젝트와 의존관계  (0) 2019.05.28
댓글
반응형
최근에 달린 댓글
글 보관함
Total
Today
Yesterday
최근에 올라온 글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31