본문 바로가기

IT&코딩/Spring

Spring - 8일차 (dbQuiz)

728x90
반응형

* 복습겸 파일명은 review 파일로 대체

* pom.xml / web.xml 은 맨 뒤에 

 

■ com.exam.rev

 

□ com.exam.rev

 

1. Dbdonfig

 

package com.exam.rev;

import java.io.IOException;

import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;

@Configuration
@MapperScan(basePackages = {"com.exam.rev.repository"})
public class DbConfig {
	
	@Bean
	public HikariDataSource dataSource() {
		HikariConfig hikariConfig = new HikariConfig();
		hikariConfig.setDriverClassName("oracle.jdbc.OracleDriver");
		hikariConfig.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:xe");
		hikariConfig.setUsername("spring1212");
		hikariConfig.setPassword("oracle");
		
		HikariDataSource dataSource = new HikariDataSource(hikariConfig);
		return dataSource;
	}
	
	@Bean
	public SqlSessionFactoryBean sessionFactory() throws IOException {
		SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
		sessionFactory.setDataSource(dataSource());
		
		PathMatchingResourcePatternResolver resolver =
				new PathMatchingResourcePatternResolver();
		sessionFactory.setMapperLocations(resolver.getResources("classpath:/mappers/**/*Mapper.xml"));
		
		return sessionFactory;
	}
	
}

 

2. HomeController.java

 

package com.exam.rev;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HomeController {
	
	@RequestMapping("/")
	public String home() {
		return "member/index";
	}
	
	@RequestMapping("header")
	public String header() {
		return "default/header";
	}
	
	@RequestMapping("main")
	public String main() {
		return "default/main";	
	}
	
	@RequestMapping("footer")
	public String footer() {
		return "default/footer";
	}
	
}

 

□ com.exam.rev.controller

 

MemberController.java

 

package com.exam.rev.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

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

import com.exam.rev.dto.MemberDTO;
import com.exam.rev.service.MemberService;

@Controller
public class MemberController {
	@Autowired private MemberService service;
	
	@GetMapping("register")
	public String register() {
		return "member/register";
	}
	
	@PostMapping("register")
	public String register(MemberDTO member, Model model) {
		String msg = service.register(member);
		model.addAttribute("msg", msg);
		if(msg.equals(member.getId() + "님 가입 완료"))
			return "member/index";
		
		return "member/register";
	}
	
	@GetMapping("login")
	public String login() {
		return "member/login";
	}
	
	@PostMapping("login")
	public String login(String id, String pw, Model model) {
		
		String msg = service.login(id, pw);
		model.addAttribute("msg", msg);
		if(msg.equals("로그인 성공"))
			return "member/index";
		
		return "member/login";
	}
	
	@GetMapping("memberInfo")
	public String memberInfo(Model model) {
		model.addAttribute("members", service.memberInfo());
		return "member/memberInfo";
	}
	
	@RequestMapping("userInfo")
	public String userInfo(HttpServletRequest request, Model model) {
		
		String id = request.getParameter("id");
		
		MemberDTO member = service.userInfo(id);
		if(member != null) {
			model.addAttribute("member", member);
			return "member/userInfo";
		}
		
		return "forward:memberInfo";
		
	}
	
	@Autowired private HttpSession session;
	
	@RequestMapping("logout")
	public String logout() {
		
		session.invalidate();
		return "member/index";
	
	}
	
	@GetMapping("update")
	public String update() {
		
		return "member/update";
	}
	
	@PostMapping("update")
	public String update(MemberDTO member) {
		
		String msg = service.update(member);
		
		if(msg.equals("회원 수정 완료")) {
			session.invalidate();
			return "redirect:memberInfo";
		}
		return "member/update";
	}
	
	@GetMapping("delete")
	public String delete(String id) {
		
		String sessionId = (String)session.getAttribute("id");
		if(id == null || id == "" || sessionId == null || sessionId == "")
			return "redirect:memberInfo";
		
		if(id.equals(sessionId) == false)
			return "redirect:memberInfo";
		
		return "member/delete";

	}
	
	@PostMapping("delete")
	public String delete(MemberDTO member, Model model) {
		
		String msg = service.delete(member);
		
		if(msg.equals("회원 삭제 완료")) {
			session.invalidate();
			return "redirect:/";
		}
		
		model.addAttribute("msg", msg);
		return "member/delete";
	}
}

 

□ com.exam.rev.dto

 

package com.exam.rev.dto;

public class MemberDTO {
	
	private String id;
	private String pw;
	private String confirm;
	private String username;
	private String address;
	private String mobile;
	
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPw() {
		return pw;
	}
	public void setPw(String pw) {
		this.pw = pw;
	}
	public String getConfirm() {
		return confirm;
	}
	public void setConfirm(String confirm) {
		this.confirm = confirm;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getMobile() {
		return mobile;
	}
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	
}

 

□ com.exam.rev.repository

 

IMemberDAO.java

 

package com.exam.rev.repository;

import java.util.ArrayList;

import org.springframework.stereotype.Repository;

import com.exam.rev.dto.MemberDTO;

@Repository
public interface IMemberDAO {
	
	MemberDTO login(String id);
	
	void register(MemberDTO member);
	
	ArrayList<MemberDTO> memberInfo();
	
	MemberDTO userInfo(String id);
	
	void update(MemberDTO member);
	
	void delete(String id);
	
}

 

□ com.exam.rev.service

 

package com.exam.rev.service;

import java.util.ArrayList;

import javax.servlet.http.HttpSession;

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

import com.exam.rev.dto.MemberDTO;
import com.exam.rev.repository.IMemberDAO;

@Service
public class MemberService {
	
	@Autowired private IMemberDAO memberDao; 
	
	public String register(MemberDTO member) {
		if(member.getId().isEmpty() || member.getPw().isEmpty()) {
			return "필수정보입니다.";
		}
		if(member.getPw().equals(member.getConfirm()) == false) {
			return "두 비밀번호가 일치하지 않습니다.";
		}
		
		MemberDTO result = memberDao.login(member.getId());
		
		if(result != null) {
			return "중복 아이디입니다.";
		} else {
			memberDao.register(member);
			return member.getId() + "님 가입 완료";
		}
		
	}
	
	@Autowired private HttpSession session;
	public String login(String id, String pw) {
		if(id == null || id.isEmpty() || pw == null || pw.isEmpty()) {
			return "필수정보입니다.";
		}
		
		MemberDTO result = memberDao.login(id);
		
		if(result == null)
			return "아이디 또는 비밀번호가 일치하지 않습니다.";
		if(result.getPw().equals(pw) == false)
			return "아이디 또는 비밀번호가 일치하지 않습니다.";
		
		session.setAttribute("id", result.getId());
		session.setAttribute("username", result.getUsername());
		session.setAttribute("address", result.getAddress());
		session.setAttribute("mobile", result.getMobile());
		
		return "로그인 성공";
	}
	
	public ArrayList<MemberDTO> memberInfo(){
		return memberDao.memberInfo();
	}
	
	public MemberDTO userInfo(String id) {
		
		if(id == null || id.isEmpty())
			return null;
		
		String sessionId = (String)session.getAttribute("id");
		if(id.equals(sessionId) == false)
			return null;
		
		MemberDTO member = memberDao.userInfo(id);
		return member;
	}
	
	public String update(MemberDTO member) {
		
		if(member.getPw().isEmpty())
			return "필수 정보입니다.";
		if(member.getPw().equals(member.getConfirm()) == false)
			return "두 비밀번호가 일치하지 않습니다.";
		
		String id = (String)session.getAttribute("id");
		MemberDTO result = memberDao.login(id);
		
		if(result != null) {
			member.setId(id);
			memberDao.update(member);
			return "회원 수정 완료";
		} else {
			return "확인 후 다시 시도해주세요";
		}
	}
	
	public String delete(MemberDTO member) {
		
		if(member.getPw() == null || member.getPw().isEmpty())
			return "비밀번호를 입력하세요";
		if(member.getPw().equals(member.getConfirm()) == false)
			return "두 비밀번호를 확인하세요";
		
		String id = (String)session.getAttribute("id");
		MemberDTO check = memberDao.login(id);
		
		if(check.getPw().equals(member.getPw())) {
			memberDao.delete(id);
			return "회원 삭제 완료";
		}
		
		return "비밀번호가 틀립니다.";
		
	}
	
}

 

■ Mapper

 

□ src/main/resources 폴더 - mappsers - member - memberMapper.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.exam.rev.repository.IMemberDAO">

	<select id="login" resultType="com.exam.rev.dto.MemberDTO">
		SELECT * FROM mvc_quiz WHERE id = #{id}
	</select>
	
	<insert id="register" parameterType="com.exam.rev.dto.MemberDTO">
		INSERT INTO mvc_quiz VALUES(#{id}, #{pw}, #{username}, #{address}, #{mobile})
	</insert>
	
	<select id="memberInfo" resultType="com.exam.rev.dto.MemberDTO">
		SELECT id, username, mobile FROM mvc_quiz
	</select>
	
	<select id="userInfo" resultType="com.exam.rev.dto.MemberDTO">
		SELECT * FROM mvc_quiz WHERE id = #{id}
	</select>
	
	<update id="update" parameterType="com.exam.rev.dto.MemberDTO">
		UPDATE mvc_quiz SET 
		pw = #{pw}, username = #{username}, address = #{address}, mobile = #{mobile} 
		WHERE id = #{id}
	</update>
	
	<delete id="delete">
		DELETE FROM mvc_quiz WHERE id = #{id}
	</delete>
	
</mapper>

 

■ view 폴더

 

□ default 폴더

 

1. header.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
   <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>header</title>
<style type="text/css">
	a {text-decoration: none; color:black;}
	ul {padding: 20px;}
	ul li {display: inline; padding: 15px;}
	.main_div{height:150px;}
	.font{text-align: center;  width:100%; margin-bottom: 50px}
</style>
</head>
<body>
	<div align="center">
		<h1>CARE LAB</h1>
	</div>
	<c:url var="contextRoot" value="/" />
	<div align="right">
		<hr>
		<ul>
			<li><a href="${contextRoot }">HOME</a></li>
			<c:choose>
				<c:when test="${empty sessionScope.id }">
					<li><a href="register">Register</a></li>
					<li><a href="login">Login</a></li>
				</c:when>
				<c:otherwise>
					<li><a href="memberInfo">memberInfo</a></li>
					<li><a href="logout">Logout</a></li>
				</c:otherwise>
			</c:choose>
		</ul>
		<hr>
		<div class="font"><font color="red">${msg }</font></div>
	</div>

 

2. main.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<div align="center" class="main_div">더할 나위 없다.</div>

 

3. footer.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
	<div align="center">
		<hr>
		Copyright CARE Lab. ALL rights reversed.
	</div>
</body>
</html>

 

□ member 폴더

 

1. index.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<c:import url="/header" />
<c:import url="/main" />
<c:import url="/footer" />

 

2. register.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<c:import url="/header"/>
<div align="center">
	<h1>회원 등록</h1>
	<table>
	<tr><td>
		<form action="register" method="post" id="f">
			<input type="text" name="id" placeholder="아이디" id="id"> (*필수 항목) <br>
			<input type="password" name="pw" placeholder="비밀번호" id="pw"><br>
			<input type="password" name="confirm" placeholder="비밀번호 확인" id="confirm"><br>
			<label id="label">(*필수 체크)</label><br>
			<input type="text" name="username" id="username" placeholder="이름"><br>
			<input type="text" name="address" placeholder="주소"><br>
			<input type="text" name="mobile" placeholder="전화번호"><br>
            <input type="submit" value="회원가입" ><br>
		</form>
	</td></tr>
	</table>
</div>
<c:import url="/footer"/>

 

3. login.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<c:import url="/header" />

<div align="center">
	<h1>로그인</h1>
	<table>
	<tr><td>
		<form action="login" id="f" method="post">
			<input type="text" name="id" placeholder="아이디" id="id"> <br>
			<input type="password" name="pw" placeholder="비밀번호" id="pw"><br>
			<input type="submit" value="로그인" ><br>
		</form>
	</td></tr>
	</table>
</div>

<c:import url="/footer" />

 

4. memberInfo.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>    

<c:import url="/header"/>
<div align="center">
<h1>회원목록</h1>
<c:choose>
	<c:when test="${members.isEmpty() == true }">
		<h1>등록된 데이터가 존재하지 않습니다.</h1>
	</c:when>
	<c:otherwise>
		<table border="1">
			<thead>
				<tr>
					<th>아이디</th>
					<th>이름</th>
					<th>전화번호</th>
				</tr>
			</thead>
			<tbody>
				<c:forEach var="member" items="${members }">
					<tr>
						<td onclick="location.href='userInfo?id=${member.id}'">
							${member.id }
						</td>
						<td>${member.username }</td>
						<td>${member.mobile }</td>
					</tr>	
				</c:forEach>
			</tbody>
		</table>
	</c:otherwise>
</c:choose>
</div>
<c:import url="/footer"/>

 

5. userInfo.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<c:import url="/header" />

<div align="center">
<h1>개인 정보</h1>
	아이디 : ${member.id } <br> 
	비밀번호 : ${member.pw }<br>
	이름 : ${member.username } <br>
	주소 : ${member.address } <br>
	전화번호 : ${member.mobile } <br><br>
	<button type="button" onclick="location.href='update?id=${member.id }'">회원 수정</button>
	<button type="button" onclick="location.href='delete?id=${member.id }'">회원 삭제</button>
</div>	

<c:import url="/footer" />

 

6. update.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<c:import url="/header"/>
<div align="center">
	<h1>회원 수정</h1>
	<table>
	<tr><td>
		<form action="update" method="post" id="f">
			<input type="text" id="id" value="${sessionScope.id }" readonly="readonly"><br>
			<input type="password" name="pw" placeholder="비밀번호" id="pw"><br>
			<input type="password" name="confirm" placeholder="비밀번호 확인 " id="confirm" >
			<label id="label">(*필수 체크)</label><br>
			<input type="text" name="username" id="username" value="${sessionScope.username }"><br>
			<input type="text" name="address" value="${sessionScope.address }"><br>
			<input type="text" name="mobile" value="${sessionScope.mobile }"><br>
			<input type="submit" value="회원 수정"><br>
		</form>
	</td></tr>
	</table>
</div>
<c:import url="/footer"/>

 

7. delete.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<c:import url="/header"/>

<div align="center">
	<h1>회원 탈퇴</h1>
	<table>
	<tr><td>
		<form action="delete" method="post" id="f">
			<input type="text" value="${sessionScope.id }" readonly="readonly"> <br>
			<input type="password" name="pw" placeholder="비밀번호"><br>
			<input type="password" name="confirm" placeholder="비밀번호 확인" ><br>
			<input type="submit" value="탈퇴"><br>
		</form>
	</td></tr>
	</table>
</div>

<c:import url="/footer"/>

 


 

□ web.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee https://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

	<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/spring/root-context.xml</param-value>
	</context-param>
	
	<!-- Creates the Spring Container shared by all Servlets and Filters -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- Processes application requests -->
	<servlet>
		<servlet-name>appServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
		
	<servlet-mapping>
		<servlet-name>appServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>
			org.springframework.web.filter.CharacterEncodingFilter
		</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>

	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
</web-app>

 

□ pom.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.exam</groupId>
	<artifactId>rev</artifactId>
	<name>review</name>
	<packaging>war</packaging>
	<version>1.0.0-BUILD-SNAPSHOT</version>
	<properties>
		<java-version>1.8</java-version>
		<org.springframework-version>5.2.1.RELEASE</org.springframework-version>
		<org.aspectj-version>1.6.10</org.aspectj-version>
		<org.slf4j-version>1.6.6</org.slf4j-version>
	</properties>
	<dependencies>
		<!-- Spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${org.springframework-version}</version>
			<exclusions>
				<!-- Exclude Commons Logging in favor of SLF4j -->
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				 </exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
				
		<!-- AspectJ -->
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>${org.aspectj-version}</version>
		</dependency>	
		
		<!-- Logging -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>${org.slf4j-version}</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jcl-over-slf4j</artifactId>
			<version>${org.slf4j-version}</version>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>${org.slf4j-version}</version>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.15</version>
			<exclusions>
				<exclusion>
					<groupId>javax.mail</groupId>
					<artifactId>mail</artifactId>
				</exclusion>
				<exclusion>
					<groupId>javax.jms</groupId>
					<artifactId>jms</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.sun.jdmk</groupId>
					<artifactId>jmxtools</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.sun.jmx</groupId>
					<artifactId>jmxri</artifactId>
				</exclusion>
			</exclusions>
			<scope>runtime</scope>
		</dependency>

		<!-- @Inject -->
		<dependency>
			<groupId>javax.inject</groupId>
			<artifactId>javax.inject</artifactId>
			<version>1</version>
		</dependency>
				
		<!-- Servlet -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.1</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
	
		<!-- Test -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.7</version>
			<scope>test</scope>
		</dependency>   
		
		<!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8 -->
		<dependency>
			<groupId>com.oracle.database.jdbc</groupId>
			<artifactId>ojdbc8</artifactId>
			<version>21.8.0.0</version>
		</dependency>  
		
		<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
		<dependency>
		    <groupId>org.springframework</groupId>
		    <artifactId>spring-jdbc</artifactId>
		    <version>${org.springframework-version}</version>
		</dependency>
				
		<!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP -->
		<dependency>
		    <groupId>com.zaxxer</groupId>
		    <artifactId>HikariCP</artifactId>
		    <version>4.0.3</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
		<dependency>
		    <groupId>org.mybatis</groupId>
		    <artifactId>mybatis</artifactId>
		    <version>3.5.11</version>
		</dependency>
		
		<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
		<dependency>
		    <groupId>org.mybatis</groupId>
		    <artifactId>mybatis-spring</artifactId>
		    <version>2.1.0</version>
		</dependency>
		   
	</dependencies>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-eclipse-plugin</artifactId>
                <version>2.9</version>
                <configuration>
                    <additionalProjectnatures>
                        <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
                    </additionalProjectnatures>
                    <additionalBuildcommands>
                        <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
                    </additionalBuildcommands>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>true</downloadJavadocs>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <compilerArgument>-Xlint:all</compilerArgument>
                    <showWarnings>true</showWarnings>
                    <showDeprecation>true</showDeprecation>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.2.1</version>
                <configuration>
                    <mainClass>org.test.int1.Main</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

 

■ 웹브라우저 화면

 

 

728x90
반응형