스타필드 도서관 웹 애플리케이션의 프로젝트 구조와 전체 코드이다. 코드뿐만 아니라 구현 과정 및 구현에 사용된 기술에 대한 설명을 덧붙였다. 2024.03.06 - [Programming/Spring] - [Spring Boot] 스타필드 도서관 웹 애플리케이션 개발과 배포: Spring Boot에서 MyBatis와 JPA 동시 사용하기 [Spring Boot] 스타필드 도서관 웹 애플리케이션 개발과 배포: Spring Boot에서 MyBatis와 JPA 동시 사용하 MyBatis와 JPA를 동시 사용해서 수원 스타필드 별마당 도서관 도서 관리 시스템 CRUD(Create, Read, Update, Delete)를 구현해 보도록 하자. 이렇게 만든 웹 애플리케이션의 배포까지 진행하면서 Spring MVC..
MyBatis와 JPA를 동시 사용해서 수원 스타필드 별마당 도서관 도서 관리 시스템 CRUD(Create, Read, Update, Delete)를 구현해 보도록 하자. 이렇게 만든 웹 애플리케이션의 배포까지 진행하면서 Spring MVC Pattern을 학습하는 것을 목표로 한다. 이 연습 프로젝트는 실제 스타필드 도서관 웹 애플리케이션은 아니지만, JPA를 활용하여 데이터베이스에서 책과 저자에 대한 CRUD 기능을 구현하였다. 💡JPA JPA(Java Persistence API)는 자바의 ORM(Object-Relational Mapping) 기술을 쉽게 구현하도록 도와주는 API이다. ORM은 객체와 관계형 데이터베이스 간의 매핑을 단순화하여 개발자가 객체 지향 프로그래밍 언어로 데이터베이스를 ..
JPA(Java Persistence API)는 자바의 ORM(Object-Relational Mapping) 기술을 쉽게 구현하도록 도와주는 API이다. JpaRepository를 상속하는 인터페이스에 메서드 이름만 작성하면, JPA가 구현체를 생성하고 필요한 쿼리문을 자동으로 처리한다. 따라서 개발자는 SQL을 작성할 필요 없이 간단한 메서드 명칭만으로도 데이터베이스를 조작할 수 있다. JPA는 엔티티(Entity)라는 클래스를 이용하여 객체를 데이터베이스에 매핑한다. 엔티티는 개발자에게 테이블 또는 레코드와 유사한 개념이다. 객체를 이용하여 매핑을 처리하므로, 개발자는 객체지향적인 코드를 작성할 수 있다. JPA를 사용하면 CRUD(Create, Read, Update, Delete) 작업을 간편하..
🌿MVC 기반 MyBatis 적용 XML 방식 인터페이스 방식 🌿XML 방식: 프로젝트 설정 1. 의존성 Spring Boot DevTools Lombok MyBatis Framework Oracle Driver (ojdbc) Spring Web Oracle Driver가 ojdbc이다. JDBC이기 때문에 Oracle Driver를 추가했고, MyBatis Framework도 추가해 주었다. 2. JSP 설정 jakarta.servlet jakarta.servlet-api org.glassfish.web jakarta.servlet.jsp.jstl jakarta.servlet.jsp.jstl jakarta.servlet.jsp.jstl-api org.apache.tomcat.embed tomcat-em..
🌿Interface Mapper [Spring] MyBatis: Connection Pool (Commons DBCP, HikariCP) 🌿MyBatis 영속성 계층 (데이터베이스 조작 계층) Mybatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하는 ORM(Object relational Mapping) 프레임워크이다. MyBatis는 Spring 기술이 아닌 독립적인 기술 isaac-christian.tistory.com 1. XML Mapper를 사용하는 방식 2. Interface Mapper를 사용하는 방식 이전 MyBatis 글에서 MyBatis를 사용하는 방식은 위 두 가지가 있다고 했다. 이번에는 Interface Mapper 방식으로 사용해 보도록 하자. 🌿프로젝트 설정 po..
🌿코드 조각 관리 게시판 코드 조각 관리 게시판을 구현해 보도록 하자. 파일 생성 com.test.controller CodeController.java com.test.persistence CodeDAO.java (I) CodeDAOImpl.java (C) com.test.domain CodeDTO.java views list.jsp views.jsp add.jsp src/main/resources > mapper code.xml 기본 작업 1. 프로젝트 설정 2. CodeDTO 태그 name 추가 3. CodeDAOImpl과 CodeDAO implements 설정 4. CodeDAOImpl이 bean이 되도록 @Repository 붙임 @Autowired private CodeDAO dao; //pu..
🌿쿼리 경우의 수 1. 반환값(X), 매개변수(X) 2. 반환값(X), 매개변수(O) 3. 반환값(O), 매개변수(X) 반환값: 단일값 반환값: 레코드 1줄 반환값: 레코드 N줄 4. 반환값(O), 매개변수(O) 반환값: 단일값 반환값: 레코드 1줄 반환값: 레코드 N줄 [Spring] MyBatis: Connection Pool (Commons DBCP, HikariCP) 🌿MyBatis 영속성 계층 (데이터베이스 조작 계층) Mybatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하는 ORM(Object relational Mapping) 프레임워크이다. MyBatis는 Spring 기술이 아닌 독립적인 기술 isaac-christian.tistory.com 이전 MyBatis 글에서 이어..
🌿MyBatis 영속성 계층 (데이터베이스 조작 계층) Mybatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하는 ORM(Object relational Mapping) 프레임워크이다. MyBatis는 Spring 기술이 아닌 독립적인 기술이지만, Spring에서 도입을 해서 사용할 수 있도록 연동되어 있다. MyBatis는 SQL을 별도의 파일을 분리해서 관리하게 하며, 응용프로그램과 데이터베이스를 연결하는 JDBC 같은 역할을 한다. 단, SQL을 그대로 사용할 수 있다는 점에서 JDBC을 사용할 때의 불편함을 해결했다. [JDBC] JDBC란? (Java Database Connectivity) 🍁JDBC JDBC는 자바 프로그램과 데이터베이스(오라클)를 연결시켜 주는 자바 API(응용..