Spring(JDBC)_01

2025. 1. 22. 18:46·Spring, Boot/기초 내용 정리

2025-01-22

 

 

 

 

 

 

 

 

 

 

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" pageEncoding="UTF-8"%>
<html>
<head>
	<title>Member 메인</title>
</head>
<body>

	<div align="center">
		<hr width="30%" color="gray">
			<h3>MEMBER10 테이블 메인 페이지</h3>
		<hr width="30%" color="gray">
		<br> <br>
		
		<a href="<%=request.getContextPath() %>/member_list.go">[회원 전체 목록]</a>
	</div>

</body>
</html>

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<div align="center">
		<hr width="30%" color="maroon">
			<h3>MEMBER10 테이블 회원 전체 리스트 페이지</h3>
		<hr width="30%" color="maroon">
		<br> <br>
		
		<table border="1" width="450">
			<tr>
				<th>회원 No.</th> <th>회원 이름</th> <th>회원 직업</th> <th>회원 등록일</th>
			</tr>
			
			<c:set var="list" value="${memberList }"></c:set>
			<c:if test="${!empty list }">
				<c:forEach items="${list }" var="dto">
					<tr>
						<td>${dto.num }</td>
						<td>${dto.memname }</td>
						<td>${dto.job }</td>
						<td>${dto.regdate.substring(0, 10) }</td>
					</tr>
				</c:forEach>
			</c:if>
			
			<c:if test="${empty list }">
				<tr>
					<td colspan="4" align="center">
						<h3>전체 회원 리스트가 없습니다...</h3>
					</td>
				</tr>
			</c:if>
		</table>
	</div>

</body>
</html>

 

package com.spring.model;

import lombok.Data;

@Data
public class Member {

	private int num;
	private String memid;
	private String memname;
	private String pwd;
	private int age;
	private int mileage;
	private String job;
	private String addr;
	private String regdate;
	
}

 

package com.spring.model;

import java.util.List;

public interface MemberDAO {

	// 회원 전체 리스트를 호출하는 추상 메서드
	List<Member> getMemberList();
	
	// 회원을 추가하는 추상 메서드
	int insertMember(Member dto);
	
	// 한 회원의 정보를 호출하는 추상 메서드
	Member getMember(int num);
	
	// 한 회원의 정보를 수정하는 추상 메서드
	int updateMember(Member dto);
	
	// 한 회원을 삭제하는 추상 메서드
	int deleteMember(int num);
	
	// 회원 번호(순번)를 재작업하는 추상 메서드
	void updateSequence(int num);
}

 

package com.spring.model;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;

/*
 * Spring에서 일반적으로 DAO 클래스는 @Repository 애노테이션을 적용
 */

@Repository
public class MemberDAOImpl implements MemberDAO {

	@Autowired
	private JdbcTemplate template;
	
	String sql = null;
	
	
	@Override
	public List<Member> getMemberList() {
		List<Member> list;
		
		sql = "select * from member10 order by num desc";
		
		return list = this.template.query(sql, new RowMapper<Member>() {

			@Override
			public Member mapRow(ResultSet rs, int rowNum) throws SQLException {
				Member member = new Member();
				
				member.setNum(rs.getInt("num"));
				member.setMemid(rs.getString("memid"));
				member.setMemname(rs.getString("memname"));
				member.setPwd(rs.getString("pwd"));
				member.setAge(rs.getInt("age"));
				member.setMileage(rs.getInt("mileage"));
				member.setJob(rs.getString("job"));
				member.setAddr(rs.getString("addr"));
				member.setRegdate(rs.getString("regdate"));
				
				return member;
			}
		});
	}

	@Override
	public int insertMember(Member dto) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public Member getMember(int num) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public int updateMember(Member dto) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public int deleteMember(int num) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public void updateSequence(int num) {
		// TODO Auto-generated method stub
		
	}

}

 

package com.spring.model;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class MemberService {

	@Autowired
	private MemberDAO dao;	
	// MemberDAO dao = new MemberDAOImpl(); --> 위와 同
	
	
	public List<Member> list() {
		
		return dao.getMemberList();
	}
	
	public int insert(Member dto) {
		
		return dao.insertMember(dto); 
	}
	
	public Member member(int no) {
		
		return dao.getMember(no);
	}
	
	public int update(Member dto) {
		
		return dao.updateMember(dto);
	}
	
	public int delete(int no) {
		
		return dao.deleteMember(no);
	}
	
	public void sequence(int no) {
		
		dao.updateSequence(no);
	}
}

 

package com.spring.jdbc01;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.spring.model.Member;
import com.spring.model.MemberService;

@Controller
public class MemberController {

	@Autowired
	private MemberService service;
	
	@RequestMapping("member_list.go")
	public String list(Model model) {
	
		List<Member> list = this.service.list();
		
		model.addAttribute("memberList", list);
		
		return "member_list";
	}
}

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">
	
	<!-- Root Context: defines shared resources visible to all other web components -->
	<!-- 스프링에서 사용 할 자원을 설정하는 공간 ==> 대부분은 DB 연결 설정 -->
	
	<!-- 1. DataSource 정보 설정 -->
	<bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
		<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
		<property name="username" value="basic" />
		<property name="password" value="1234" />
	</bean>
	
	 <!-- 2. Spring JDBCTemplate 클래스 설정 -->
	 <bean name="template" class="org.springframework.jdbc.core.JdbcTemplate">
	 	<property name="dataSource" ref="dataSource" />
	 </bean>
		
</beans>

'Spring, Boot > 기초 내용 정리' 카테고리의 다른 글

Spring(MyBatis)_01  (0) 2025.02.05
Spring(MyBatis)_00  (1) 2025.02.05
Spring(JDBC)_00  (1) 2025.01.22
Spring(MVC)_03_01  (0) 2025.01.22
Spring(MVC)_02_02  (0) 2025.01.22
'Spring, Boot/기초 내용 정리' 카테고리의 다른 글
  • Spring(MyBatis)_01
  • Spring(MyBatis)_00
  • Spring(JDBC)_00
  • Spring(MVC)_03_01
mw41817
mw41817
일생의 개발 기록 저장소
  • mw41817
    IT 개발 일지
    mw41817
    • Index (487)
      • HTML (36)
        • 기초 내용 정리 (36)
      • CSS (29)
        • 기초 내용 정리 (29)
      • JavaScript (60)
        • 기초 내용 정리 (60)
      • JQuery (38)
        • 기초 내용 정리 (38)
      • Java (232)
        • 기초 내용 정리 (232)
      • JSP (46)
        • 기초 내용 정리 (46)
      • Spring, Boot (31)
        • 기초 내용 정리 (31)
      • DB (5)
        • Oracle SQL (5)
      • Code WorkBook (6)
        • programmers (6)
        • Baekjoon (0)
      • 기타 (1)
        • 유용한 사이트 (3)
  • 전체
    오늘
    어제
  • 글쓰기 관리
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 카테고리
    • 주인장 GitHub
  • 공지사항

  • 인기 글

  • 태그

    html #코딩 #프로그래밍 #기초
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
mw41817
Spring(JDBC)_01
상단으로

티스토리툴바