MyBatis(마이바티스)

조예빈·2024년 5월 13일
0

Spring

목록 보기
8/19

매우 중요함!! 잘 해야함!!

MyBatis

  • 데이터 연동 관련 프레임워크
  • 기존 JDBC 연동 과정 : connection -> Statement 객체 생성 -> SQL문 전송 -> 결과 반환 -> close
  • 위의 과정을 개선해 SQL문의 가독성을 높여 사용하기 편하게 만든 것
  • DAO -> Spring-mybatis
  • mybatis : Data Source를 받아와(DBCP를 사용) Connection을 함.
  • 과거에는 ibatis였음
  • Java와 SQL(XML) 분리
  • 자동으로 파라미터 값 매핑
  • 자동으로 결과값을 객체로 매핑시켜줌
insert into student(a,b,c,d,e,f) valuse (변수,변수...)

select * from student -> StudentVO로 매핑해서 return

특징

  • SQL 실행 결과를 자바 빈즈 또는 Map 객체에 매핑해 주는 Persisitence 솔루션으로 관리 => SQL을 소스가 아닌 XML로 분리하는 것
  • SQL 문과 프로그래밍 코드를 분리해서 구현

구조

  • 바깥에 mapper 태그
  • mapper 안에 < select > < insert > < update > < delete >로 태그로 존재함
  • DAO에서 SQL을 실행할 때 선택자를 지정해야 하는데, 이 때 mapper 태그의 namespace, 태그의 id를 namespace.id(student.all)로 지정해 주면 됨

실행시 : .메소드명("namespace.id"[,파라미터(객체)])
#{변수명} : preparedstatement. ?로 처리됨
{변수명} : statement. 그대로 처리됨 where id = ${id} -> where id = abc where id = '{id}'
물음표는 값만 들어갈 수 있음.

메소드

  • selectList() : 여러개
  • selectOne() : 한개

hikaricp 다운

hikaricp

mybatis 다운

mybatis

mybatis spring 다운

mybatis spring

Spring Transaction 다운

spring transaction

동적 SQL

< where > : where 명령어를 추가/제외
< if test="조건" >SQL< /if > : 조건식이 참이면 포함되는 SQL
< sql > : 독립적으로 저장
< include > : 포함
< resultMap > : 결과
< parameterMap > : 파라미터

profile
컴퓨터가 이해하는 코드는 바보도 작성할 수 있다. 사람이 이해하도록 작성하는 프로그래머가 진정한 실력자다. -마틴 파울러

0개의 댓글