Search
Duplicate

Mybatis,SpringBoot CRUD 게시판 구현하기

Created time
2023/05/11 06:08
Last edited time
2023/07/11 01:47
Status
Done
tag

들어가기에 앞서

참고한 자료를 바탕으로 비전문가가 정리한 글이므로 오류가 있을 수 있습니다.
오류에 대한 지적 사항은 언제든지 환영합니다. 부디 댓글로 알려주시길 바랍니다. 감사합니다.

Mybatis, SpringBoot를 활용한 CRUD게시판 만들기

오늘은 Mybatis에 익숙해지기 위해 기초적인 문법을 활용한 CRUD게시판을 구현하려고 한다. 작성한 쿼리에 맞게 정상적으로 데이터가 입출력되는지를 확인하는 것을 중점적으로 볼 것이다.
개발 환경은 다음과 같다.
IDE : intellij JDK : 11 Framework : Spring 5.3.27, SpringBoot 2.7.11, Mybatis 3.5.11 DB: Oracle 12c 12.2.0.1
DB,DTO, Mapper, Service, View, Controller 순서로 구현할 예정이다.
시작하기에 앞서 Mybatis에 대해 간단히 정리해보자.

Mybatis란?

MyBatis는 자바 언어를 위한 오픈 소스 OM(Object Mapping) 프레임워크이다. MyBatis는 SQL 매핑 파일(XML, 어노테이션)을 통해 데이터베이스와의 상호 작용을 관리하며, 개발자가 직접 SQL 쿼리를 작성할 수 있도록 지원한다.
MyBatis는 DAO(Data Access Object) 역할을 수행하며, 데이터베이스와의 상호작용을 처리하는 중간 계층으로 사용될 수 있다. Mybatis를 사용하는 것이 DAO클래스를 직접 구현하는 것보다 더 좋은 이유는 다음과 같다.
1.
SQL 작성과 관리의 용이성: MyBatis는 SQL 매핑을 통해 SQL 쿼리를 관리한다. SQL 매핑은 XML 파일 또는 애노테이션을 사용하여 SQL 문을 정의하고, 객체와 데이터베이스 간의 매핑을 설정한다. 이를 통해 개발자는 별도의 SQL 쿼리를 작성하고 실행할 수 있으며, SQL 문을 쉽게 관리할 수 있다.
2.
유연성과 커스터마이징: MyBatis는 SQL을 직접 작성하고 실행하는 것을 허용하기 때문에 개발자는 복잡한 쿼리를 유연하게 작성할 수 있다. 개발자는 필요에 따라 동적 쿼리를 생성하고 쿼리에 파라미터를 바인딩할 수 있다. 또한, MyBatis는 매핑 설정을 커스터마이징하여 개발자가 특정 요구사항에 맞게 데이터 액세스를 조정할 수 있도록 한다.
3.
성능 최적화: MyBatis는 성능 최적화를 위한 다양한 기능을 제공한다. 캐시 기능을 통해 쿼리 결과를 메모리에 저장하여 반복적인 쿼리 수행을 피하고 성능을 향상시킬 수 있다. 또한, MyBatis는 로깅 기능을 제공하여 실행되는 SQL 쿼리와 매핑 결과를 추적하고 성능 이슈를 파악하는 데 도움을 준다.

구현

상세 구현 코드 펼치기

확인

정상적으로 입력한 데이터가 모두 출력됨을 확인할 수 있다.

참고