testtest
testtest
코드
package com.example.manage.controller;
import com.example.manage.dao.EmpDAO;
import com.example.manage.vo.EmpVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.List;
@Controller
@RequestMapping("/emp")
public class EmpController {
private EmpDAO empDAO;
@Autowired
public EmpController(EmpDAO empDAO){
this.empDAO = empDAO;
}
@GetMapping("/")
public ModelAndView listEmp(){
List<EmpVO> list = empDAO.listAll();
ModelAndView mav = new ModelAndView();
if(list.size() != 0){
mav.addObject("list",list);
}
else{
mav.addObject("msg","결과가 없습니다.");
}
mav.setViewName("empView");
return mav;
}
@GetMapping("/search/empno")
public ModelAndView searchNo(int empno){
List<EmpVO> list = empDAO.searchEmpno(empno);
ModelAndView mav = new ModelAndView();
if(list.size() != 0){
mav.addObject("list",list);
mav.addObject("button","메인으로");
}
else{
mav.addObject("msg","결과가 없습니다.");
}
mav.setViewName("empView");
return mav;
}
@GetMapping("/search/ename")
public ModelAndView searchName(String ename){
List<EmpVO> list = empDAO.searchEname(ename);
ModelAndView mav = new ModelAndView();
if(list.size() != 0){
mav.addObject("list",list);
mav.addObject("button","메인으로");
}
else{
mav.addObject("msg","결과가 없습니다.");
}
mav.setViewName("empView");
return mav;
}
@GetMapping("/search/tel")
public ModelAndView searchTel(String tel){
List<EmpVO> list = empDAO.searchTel(tel);
ModelAndView mav = new ModelAndView();
if(list.size() != 0){
mav.addObject("list",list);
mav.addObject("button","메인으로");
}
else{
mav.addObject("msg","결과가 없습니다.");
}
mav.setViewName("empView");
return mav;
}
@GetMapping("/search/rank")
public ModelAndView searchRank(String rank){
List<EmpVO> list = empDAO.searchRank(rank);
ModelAndView mav = new ModelAndView();
if(list.size() != 0){
mav.addObject("list",list);
mav.addObject("button","메인으로");
}
else{
mav.addObject("msg","결과가 없습니다.");
}
mav.setViewName("empView");
return mav;
}
@GetMapping("/search/email")
public ModelAndView searchEmail(String email){
List<EmpVO> list = empDAO.searchEmail(email);
ModelAndView mav = new ModelAndView();
if(list.size() != 0){
mav.addObject("list",list);
mav.addObject("button","메인으로");
}
else{
mav.addObject("msg","결과가 없습니다.");
}
mav.setViewName("empView");
return mav;
}
@PostMapping("/insert")
public ModelAndView insert(EmpVO vo) {
boolean result = empDAO.insertEmp(vo);
ModelAndView mav = new ModelAndView();
if (result) {
mav.addObject("list", empDAO.listAll());
} else {
mav.addObject("msg", "글 작성을 처리하는 동안 오류 발생");
}
mav.setViewName("empView");
return mav;
}
@GetMapping("/delete")
public ModelAndView delete(int empno) {
boolean result = empDAO.deleteEmp(empno);
ModelAndView mav = new ModelAndView();
if (result) {
mav.addObject("list", empDAO.listAll());
} else {
mav.addObject("msg", "삭제를 처리하는 동안 오류 발생");
}
mav.setViewName("empView");
return mav;
}
@PostMapping("/update")
public ModelAndView update(EmpVO vo) {
boolean result = empDAO.updateEmp(vo);
ModelAndView mav = new ModelAndView();
if (result) {
mav.addObject("list", empDAO.listAll());
} else {
mav.addObject("msg", "글 수정을 처리하는 동안 오류 발생");
}
mav.setViewName("empView");
return mav;
}
}
package com.example.manage.dao;
import com.example.manage.vo.EmpVO;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class EmpDAO {
@Autowired
SqlSession session = null;
public List<EmpVO> listAll(){
String statement = "resource.EmpMapper.selectEmp";
List<EmpVO> list = session.selectList(statement);
return list;
}
public List<EmpVO> searchEmpno(int empno){
String staement = "resource.EmpMapper.selectByEmpno";
List<EmpVO> list = session.selectList(staement, empno);
return list;
}
public List<EmpVO> searchEname(String ename){
String staement = "resource.EmpMapper.selectByEname";
List<EmpVO> list = session.selectList(staement, ename);
return list;
}
public List<EmpVO> searchTel(String tel){
String staement = "resource.EmpMapper.selectByETel";
List<EmpVO> list = session.selectList(staement, tel);
return list;
}
public List<EmpVO> searchRank(String rank){
String staement = "resource.EmpMapper.selectByRank";
List<EmpVO> list = session.selectList(staement, rank);
return list;
}
public List<EmpVO> searchEmail(String email){
String staement = "resource.EmpMapper.selectByEmail";
List<EmpVO> list = session.selectList(staement, email);
return list;
}
public boolean insertEmp(EmpVO vo) {
boolean result = true;
String statement = "resource.EmpMapper.insertEmp";
if(session.insert(statement, vo) != 1)
result = false;
return result;
}
public boolean deleteEmp(int empno) {
boolean result = true;
String statement = "resource.EmpMapper.deleteEmp";
if(session.delete(statement, empno) != 1)
result = false;
return result;
}
public boolean updateEmp(EmpVO vo) {
boolean result = true;
String statement = "resource.EmpMapper.updateEmp";
if(session.update(statement, vo) != 1)
result = false;
return result;
}
}
package com.example.manage.vo;
public class EmpVO {
private int empno;
private String ename;
private String tel;
private String rank;
private String email;
public int getEmpno() {
return empno;
}
public void setEmpno(int empno) {
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getRank() {
return rank;
}
public void setRank(String rank) {
this.rank = rank;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
<?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="resource.EmpMapper">
<select id="selectEmp" resultType="vo.EmpVO">
select * from emp
</select>
<select id="selectByEmpno" resultType="vo.EmpVO" parameterType="int" >
select empno, ename, tel, rank, email from emp where empno = #{empno}
</select>
<select id="selectByEname" resultType="vo.EmpVO" parameterType="String" >
select empno, ename, tel, rank, email from emp where ename = #{ename}
</select>
<select id="selectByTel" resultType="vo.EmpVO" parameterType="String" >
select empno, ename, tel, rank, email from emp where tel = #{tel}
</select>
<select id="selectByRank" resultType="vo.EmpVO" parameterType="String" >
select empno, ename, tel, rank, email from emp where rank = #{rank}
</select>
<select id="selectByEmail" resultType="vo.EmpVO" parameterType="String" >
select empno, ename, tel, rank, email from emp where email = #{email}
</select>
<insert id="insertEmp" parameterType="vo.EmpVO">
<selectKey resultType="int" keyProperty="empno" order="BEFORE">
select empseq.nextval from dual
</selectKey>
insert into emp (empno, ename, tel, rank, email) values (#{empno}, #{ename}, #{tel}, #{email})
</insert>
<delete id="deleteEmp" parameterType="_int" >
delete from emp where empno = #{empno}
</delete>
<update id="updateEmp" parameterType="vo.EmpVO" >
update emp set
ename = #{ename},
tel = #{tel},
rank = #{rank},
email = #{email},
where empno = #{empno}
</update>
</mapper>
<%@ 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>
</head>
<body>
<c:if test="${ !empty list }" >
<h1 onclick="location.href='/emp'">직원 관리</h1>
<hr>
<table>
<c:forEach var="vo" items="${list}">
<tr>
<td class="${vo.id}">${ vo.name }</td>
<td class="${vo.id}">${ vo.title }</td>
<td class="${vo.id}">${ vo.meetingDate }</td>
<td><a href ="/emp/delete?id=${vo.id}"></a></td>
<td><img onclick="displayUpdateForm('${vo.id}')"></td>
</tr>
</c:forEach>
</table>
</c:if>
<c:if test="${ !empty msg }" >
<script>
alert('${ msg }');
</script>
</c:if>
<hr>
<button onclick="displayDiv(1);">미팅 정보 작성</button>
<button onclick="displayDiv(2);">미팅 정보 검색</button>
<c:if test="${ button != null }" >
<hr>
<button onclick="location.href='/springedu/meeting'">${ button }</button>
</c:if>
<div id="write" style="display:none">
<hr><h2 id="divT">미팅정보 작성</h2>
<form method = "post" action = "/springedu/meeting/insert">
<input type="hidden" name="id" value="0">
미팅 대상 이름 : <input id="m_name" type="text" name="name">
<br>
미팅 목적 : <br>
<textarea id="m_title" rows="3" cols="60" name = "title" ></textarea>
<br>
날짜와 시간 : <input id="m_dt" type="datetime-local" name="meetingDate">
<br><br>
<input type = "submit" value = "등록">
<input type="button" value="취소" onclick="document.getElementById('write').style.display='none';return false">
</form>
</div>
<div id="search" style="display:none">
<hr>
<form method = "get" action ="/springedu/meeting/search">
검색어 : <input type = "search" name = "keyword" >
<input type = "submit" value = "검색">
</form>
</div>
<script>
function displayDiv(type) {
if(type == 1) {
document.getElementById("search").style.display='none';
document.getElementById("write").style.display='block';
document.getElementById("divT").textContent="미팅정보 작성";
document.querySelector("#write [type=submit]").value="등록";
} else if(type == 2) {
document.getElementById("write").style.display='none';
document.getElementById("search").style.display='block';
}
}
function displayUpdateForm(cv) {
var doms = document.getElementsByClassName(cv);
document.getElementById("search").style.display='none';
document.getElementById("write").style.display='block';
document.getElementById("m_name").value =
doms[0].textContent;
document.getElementById("m_title").value =
doms[1].textContent;
var str = doms[2].textContent;
var ary = str.split(/\D+/g)
var meeting_dt = ary[0]+"-"+ary[1]+"-"+ary[2]+
"T"+ary[3]+":"+ary[4];
document.getElementById("m_dt").value = meeting_dt;
document.getElementById("divT").textContent="미팅정보 수정";
document.querySelector("#write [type=submit]").value="수정";
document.querySelector("#write [type=hidden]").value=cv;
document.querySelector("#write form").action="/springedu/meeting/update";
}
</script>
</body>
</html>
server.port=8081
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.username=manage
spring.datasource.password=1234
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:XE
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.13</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>manage</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>manage</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter-test</artifactId>
<version>2.3.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>