안녕하세요! 오늘은 제가 스프링 MVC와 MyBatis를 이용해 간단한 웹사이트를 만들어봤어요. 환경 설정부터 실제 코드 작성까지 공부하면서 느꼈던 중요한 포인트들을 일기처럼 정리해 볼게요.
🔧 오늘 공부한 주요 환경 설정
- JDK 21 설치: 스프링을 돌리기 위해 먼저 자바를 설치했어요.
- 이클립스 EE 설치: 이클립스로 개발 환경을 갖췄어요.
- Maven 설치 및 환경변수 설정: Maven으로 쉽게 라이브러리를 관리하도록 했어요.
- Oracle DB 연결: MyBatis를 사용해 데이터베이스와 연결했어요.
🌱 주요 파일과 코드 설명
① HomeController.java (화면과 URL 연결)
@Controller
public class HomeController {
// 홈페이지 메인화면
@RequestMapping("/")
public String home() {
return "home"; // home.jsp 화면 출력
}
// 로그인 화면
@RequestMapping("/login")
public String login() {
return "login"; // login.jsp 화면 출력
}
}
✅ 잠깐 설명!
@Controller로 이 클래스가 컨트롤러임을 알려줘요. @RequestMapping은 URL 주소를 화면과 연결하는 역할이에요.
🔖 로그인 처리를 위한 컨트롤러 코드
package com.homepage.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import com.homepage.service.UserService;
import com.homepage.vo.UserVO;
@Controller
public class UserController {
// 자동으로 서비스 연결
@Autowired
private UserService userService;
// 로그인 처리
@RequestMapping(value="/userLogin", method=RequestMethod.POST)
public String userLogin(UserVO user, Model model) {
// 사용자 정보를 서비스로 전달해서 로그인 검사
UserVO result = userService.loginCheck(user);
if(result != null) { // 성공하면
model.addAttribute("user", result); // 사용자 정보 화면에 전달
return "home"; // 홈으로
} else { // 실패하면
model.addAttribute("msg", "로그인 실패!");
return "login"; // 다시 로그인 화면으로
}
}
}
📌 MyBatis로 DB 쿼리 작성하기
MyBatis를 사용하면 아래처럼 XML에 쿼리를 적어요.
<!-- userMapper.xml -->
<mapper namespace="userMapper">
<!-- 로그인 확인을 위한 SQL문 -->
<select id="loginCheck" resultType="com.homepage.vo.UserVO">
SELECT * FROM users
WHERE id=#{id} AND password=#{password}
</select>
</mapper>
- namespace: 자바 클래스와 연결된 이름
- <select>: DB에서 데이터를 가져올 때 사용
- #{id}: 입력받은 id를 가져옴
🗂 오늘 공부한 파일들 정리
- HomeController.java: URL과 화면 연결
- UserController.java: 로그인 처리
- UserService.java: 로그인 서비스 처리
- UserRepository.java: DB 연결
- UserVO.java: 데이터를 담는 클래스
- userMapper.xml: 실제 DB 쿼리문 관리
🧑💻 오늘 배운 핵심 요약
- 스프링 MVC: 화면(JSP)과 자바 클래스(컨트롤러)를 연결할 때 사용.
- MyBatis: 자바 클래스와 DB를 연결해 데이터를 가져올 때 사용.
- 환경변수 설정: Maven 명령어를 어디서든 쓸 수 있게 해줌.
- settings.xml: Maven 라이브러리 저장소 설정.
📝 공부하면서 느낀 점과 앞으로 할 일
스프링은 XML을 최소화하고 간단히 URL을 사용하는 점이 정말 편했어요. 하지만 MyBatis XML 파일 작성이 처음엔 조금 어렵게 느껴졌어요. 앞으로는 다양한 예제를 따라하며 익숙해질 필요가 있을 것 같아요.
다음엔 게시판과 회원가입 기능까지 확장해서 더 완벽한 웹사이트를 만들어 볼 예정이에요. 그럼 모두 화이팅!
'Spring' 카테고리의 다른 글
[2025-04-08] 스프링 AOP를 이용한 예외 로그 기록 자동화 실습 (0) | 2025.04.08 |
---|---|
🧠 Java Config 기반 AOP 예외처리 웹 애플리케이션 만들기 (2025.04.07) (0) | 2025.04.07 |
📅 2025년 3월 31일 - Spring AOP(XML 설정)으로 출근/퇴근 자동화하기! (0) | 2025.03.31 |
🌱 스프링 의존성 주입(DI) 3가지 방식 완전 정리 (2025.03.24) (0) | 2025.03.24 |
📘 2025년 3월 16일 교차 검증과 그리드 서치(Grid Search)로 최적의 모델 찾기 (0) | 2025.03.16 |