Notice
Recent Posts
Recent Comments
Link
250x250
develope_kkyu
[Spring] oracle db와 연동하여 객실 종류 입력하기 본문
728x90
jsp, mybatis 등을 활용하여 객실 종류 입력하는 페이지 만들기
- 기능
- Type Name에 방 종류 이름을 입력하면 기존 테이블에 다음 번호와 이름이 입력된다.
- 마우스로 테이블 안에 방 종류 선택 후 삭제 버튼 시 테이블과 db에서 그 방 종류 삭제
- 비우기 클릭 시 리셋
roomtype.jsp - 화면
<%@ 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>RoomType</title>
</head>
<body>
<table border=1 id=tblList>
<tr><th>Type Number</th><th>Type Name</th></tr>
<c:forEach var="roomtype" items="${rt}">
<tr><td>${roomtype.typenum}</td><td>${roomtype.typename}</td></tr>
</c:forEach>
</table><br>
<form action="/controlRoomType" id=frmControl>
<input type=hidden id=optype name=optype value='insert'>
<table border=1>
<tr><td>Type Number</td><td><input type=text name=typenum id=typenum readonly></td></tr>
<tr><td>Type Name</td><td><input type=text name=typename id=typename></td></tr>
<tr><td colspan=2 align=center>
<input type=button value='등록' id=btnAddNew>
<input type=button value='삭제' id=btnDelete>
<input type=button value='비우기' id=btnReset>
</td></tr>
</table>
</form>
</body>
<script src='https://code.jquery.com/jquery-3.4.1.js'></script>
<script>
$(document)
.on('click', '#tblList tr',function(){
let typenum = $(this).find('td:eq(0)').text();
let typename = $(this).find('td:eq(1)').text();
$('#typenum').val(typenum);
$('#typename').val(typename);
$('#optype').val('update');
return false;
})
.on('click','#btnDelete',function(){
if($('#typenum').val()=='' || $('#typename').val()=='') return false;
$('#optype').val('delete');
$('#frmControl').submit();
})
.on('click','#btnAddNew',function(){
if($('#typename').val()=='') return false;
$('#frmControl').submit();
})
.on('click','#btnReset',function(){
$('#typenum,#typename').val('');
$('#optype').val('insert');
return false;
})
</script>
</html>
My controller.java - 서버
package com.human.springboot;
import java.util.ArrayList;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
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 org.springframework.web.bind.annotation.ResponseBody;
import jakarta.servlet.http.HttpServletRequest;
@Controller
public class MyController {
@Autowired
private empDAO emp;
@RequestMapping("/roomtype")
public String getList(Model model) {
ArrayList<RoomtypeDTO> rdto = emp.listRoomType();
model.addAttribute("rt", rdto);
return "roomtype";
}
@RequestMapping("/controlRoomType")
public String doControlRoomType(HttpServletRequest req) {
if(req.getParameter("optype").equals("delete")) {
int typenum = Integer.parseInt(req.getParameter("typenum"));
emp.deleteRoomType(typenum);
} else if(req.getParameter("optype").equals("insert")) {
String typename = req.getParameter("typename");
emp.insertRoomType(typename);
} else if(req.getParameter("optype").equals("update")) {
String typename = req.getParameter("typename");
int typenum = Integer.parseInt(req.getParameter("typenum"));
emp.updateRoomType(typename, typenum);
}
return "redirect:/roomtype";
}
}
empDAO.java
package com.human.springboot;
import java.util.ArrayList;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface empDAO {
ArrayList<RoomtypeDTO> listRoomType();
void insertRoomType(String typename);
void deleteRoomType(int typenum);
void updateRoomType(String tname, int tnum);
}
RoomtypeDTO.java
package com.human.springboot;
public class RoomtypeDTO {
private int typenum;
private String typename;
public int getTypenum() {
return typenum;
}
public void setTypenum(int typenum) {
this.typenum = typenum;
}
public String getTypename() {
return typename;
}
public void setTypename(String typename) {
this.typename = typename;
}
}
Emp.xml - db
<?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.human.springboot.empDAO">
<select id="listRoomType" resultType="com.human.springboot.RoomtypeDTO">
SELECT typenum, typename from roomtype order by typenum
</select>
<insert id="insertRoomType">
insert into roomtype values(seq_roomtype2.nextval,#{param1},null)
</insert>
<delete id="deleteRoomType">
delete from roomtype where typenum = #{param1}
</delete>
<update id="updateRoomType">
update roomtype set typename=#{param1} where typenum=#{param2}
</update>
</mapper>
--
실행 화면
728x90
'JAVA > Java EE(Spring)' 카테고리의 다른 글
[Spring] Spring 프로젝트와 MongoDB altas를 연동한 회원가입, 로그인 페이지 예제 - 1 (0) | 2023.03.20 |
---|---|
[Spring] Google Cloud Platform에서 Spring 프로젝트 배포하기 - 2 (2) | 2023.03.15 |
[Spring] Google Cloud Platform에서 Spring 프로젝트 배포하기 - 1 (0) | 2023.03.14 |
[Spring] VScode에서 간단한 스프링 프로젝트 만들기 (0) | 2023.03.09 |
[Spring] oracle db와 연동하여 회원가입, 로그인 페이지 만들기 (0) | 2022.12.28 |