Java(35)
-
[LG U+ 유레카 3기] JPA 연관관계 & Fetch 전략
[LG U+ 유레카 3기] "JPA 연관관계 & Fetch 전략(OneToMany / ManyToMany) 실습 정리"JPA 연관관계 & Fetch 전략 (어제+오늘 실습 총정리)❶ 실습 환경 & 공통 흐름이번 이틀 동안의 실습은 순수 JPA + Hibernate 조합으로 진행했다.Spring 없이 직접 EntityManagerFactory와 EntityManager를 만들면서 내부 동작을 눈으로 확인하는 것이 목표였다.public class TestTemplate { public static void main(String[] args) { Map props = new HashMap(); props.put("hibernate.hbm2ddl.auto", "update"); ..
2025.11.19 -
[LG U+ 유레카 3기] 순수 JPA 복합키 실습(@IdClass & @EmbeddedId)
오늘 오후 실습에서는 JPA에서 자주 등장하는 난제 중 하나인 복합키(Composite Key) 를 두 가지 방식으로 직접 다뤘다.즉, 하나의 테이블(엔티티)이 두 개 이상의 컬럼으로 Primary Key를 구성하는 상황을 실제 코드로 구현하여, Hibernate가 어떤 방식으로 매핑하고 테이블을 생성하는지 확인하는 실습이었다.Spring JPA와 가장 크게 다른 점EntityManagerFactory(EFM)를 개발자가 직접 생성HibernatePersistenceProvider() 를 직접 사용트랜잭션을 begin() / commit() 으로 직접 제어@Service, @Repository, @Transactional 등의 Spring 전용 어노테이션 없음application.properties / ..
2025.11.17 -
[LG U+ 유레카 3기] Spring MVC + JSP + MyBatis 프로젝트 정리
일주일 실습 총정리 (회원/로그인 → 게시판 CRUD·페이징 → 예외/에러 처리 → 트랜잭션 롤백 전략)Spring MVC + MyBatis — 일주일 실습 총정리이 글은 지난 일주일간 진행한 실습을 프로젝트 단위로 한 번에 묶은 기록이다. Spring MVC + MyBatis + JSP + Ajax 조합으로 회원가입·로그인 → 게시판 CRUD/페이징 → 예외/에러 처리 아키텍처 → 트랜잭션 롤백 전략까지 순서대로 구축했다. 핵심은 요청-데이터-응답을 한 선으로 그리기1. 프로젝트 구조와 흐름Controller : HTTP 엔드포인트, 파라미터 바인딩, 세션 접근 최소화, JSON/JSP 응답 결정Service : 비즈니스 규칙(페이징, sameUser, 권한), 트랜잭션 경계, 실패 응답 규격화(Res..
2025.11.17 -
Spring MVC + MyBatis 실습
🧩 Spring MVC + MyBatis 실습 정리이 글은 Spring MVC + MyBatis 실습을 파일별로 뜯어보며, XML 문법 포인트와 프로젝트 실행 전 초기 세팅, 그리고 MVC 계층에서 데이터가 오가는 흐름을 단계별로 정리합니다.❶ 프로젝트 구조❷ 실행 전 초기 세팅 (application.properties / mybatis-config / Mapper 위치)🔧 application.propertiesspring.application.name=SpringBootMVCDBMybatis2spring.mvc.view.prefix = /WEB-INF/jsp/spring.mvc.view.suffix = .jspserver.servlet.session.persistent=false# DataSou..
2025.11.06 -
[LG U+ 유레카 3기]Spring Boot + JDBC -> MyBatis 전환 실습
❶ 상황 설명이번 실습에서는 기존 JDBC 기반 DAO 구현(Impl) 프로젝트를 MyBatis로 전환했다. 핵심은DAO 구현체(BookDaoImpl) 제거 후 @Mapper 인터페이스 + XML 매퍼로 대체하고,View는 webapp 하위의 index.html과 webapp/WEB-INF/jsp 하위의 jsp/books.jsp를 사용했다. 프로젝트 생성할땐 Spring Strarter Project 에서 MyBatis Framework을 추가해야한다.기존의 저는 JDBC API 추가된 실습이였는데 그걸 MyBatis로 바꾸는 실습이기에 JDBC API 해제 해주고 MyBatis Framework을 추가했습니다.❷ 디렉터리 구조여기서 중요한점은 config와 mapper 폴더가 생기고 xml ..
2025.11.06 -
[LG U+ 유레카 3기] Spring Boot MVC 도서 관리 시스템 실습
❶ 실습 개요이번 실습은 기존의 서블릿 & JSP 구조로 구현했던 BookManager 프로젝트를 Spring Boot MVC 아키텍처로 전환한 버전입니다.핵심 목표는 MVC 구조의 완전한 이해와 Spring의 계층적 데이터 흐름을 체감하는 것이었습니다.❷ 프로젝트 구조SpringBootMVCDB ┣ 📁 src/main/java/com/mycom/myapp ┃ ┣ 📁 common → DBManager.java (Connection 관리) ┃ ┣ 📁 controller → BookController.java ┃ ┣ 📁 dao → BookDao.java / BookDaoImpl.java ┃ ┣ 📁 dto → BookDto.java ┃ ┣ 📁 service → BookService.java / Bo..
2025.11.05