JAVA 마이바티스

윤슬·2025년 9월 23일

DAO / JDBC


1. 정의

  • 자바에서 DB와 직접 연결하고 SQL 실행을 담당

2. 주요 인터페이스

  • Connection
  • PreparedStatement
  • ResultSet

MyBatis / 마이바티스


1. 정의

  • JDBC보다 편리한 기능 제공, 객체 자동 매핑(연결)

2. 특징

  1. SQL 매핑
  2. 결과 매핑
  3. 유연성
  4. 스프링에서 공식 지원

3. 설치

  1. build.gradle 의존성 추가
    • 단, DBMS 라이브러리도 같이 존재해야 함 (MySQL, Oracle 등)
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.5'

4. 자바와 DB 연동 설정

  • application.properties 파일 이용, 자동 DB 연동
  1. 위치: src -> main -> resources 폴더
  2. 한글 깨짐 문제: IntelliJ → 설정 → '파일 인코딩' → '프로퍼티에 대한 디폴트 인코딩' → UTF-8
  • JDBC 예시
spring.datasource.url=jdbc:mysql://localhost:3306/DB명
spring.datasource.username=계정명
spring.datasource.password=비밀번호

MyBatis 사용법

  1. 인터페이스 생성
  2. 인터페이스 위에 @Mapper 주입
  3. SQL DML 어노테이션 사용
    • @Insert("SQL 작성")
    • @Select("SQL 작성")
    • @Delete("SQL 작성")
    • @Update("SQL 작성")
  4. SQL 문법 내 매개변수: #{매개변수} 표현
  5. 추상 메소드 선언
    • 매개변수: SQL 문법 내 매개변수 #{}
    • 반환타입: SQL 결과 매핑
      • int : insert/update/delete 처리된 레코드 수 반환
      • Map / Dto / List : select 조회 결과 레코드 반환

⚠ 주의: 매핑할 레코드의 컬럼명과 자바 속성명은 일치해야 함

profile
우상향그래프

0개의 댓글