이번에는 get방식을 사용해 클라이언트에게 받은 데이터를 DB에 저장하는 방법을 적어 보겠습니다.
저 혼자 만든 코드이므로 좋은 코드가 아닐 수 있습니다.
보충할 내용은 댓글로 달아주세요. 빠르게 확인하고 수정하겠습니다.
VO
package egovframework.example.sample.vo;
public class UpdateVO {
private String barcode;
private String box;
private String stock;
public String getBarcode() {
return barcode;
}
public void setBarcode(String barcode) {
this.barcode = barcode;
}
public String getBox() {
return box;
}
public void setBox(String box) {
this.box = box;
}
public String getStock() {
return stock;
}
public void setStock(String stock) {
this.stock = stock;
}
}
Controller에 추가합니다. get방식을 사용하므로 아래 내용을 사용할 수 있습니다.(데이터가 head에 있어서)
하지만 받는 방식이 post면 아래에 몇가지를 더 추가하셔야 합니다.(데이터가 body에 있기 때문에)
@RequestMapping(value="/updateStock.do", method = RequestMethod.GET)
public void updateStock(HttpServletRequest request) throws Exception {
UpdateVO updateVo = new UpdateVO();
String barcode = request.getParameter("barcode");
String box = request.getParameter("box");
String stock = request.getParameter("stock");
updateVo.setBarcode(barcode);
updateVo.setBox(box);
updateVo.setStock(stock);
stockService.updateStock(updateVo);
}
DAO
public void updateStock(UpdateVO updateVo) throws Exception;
DAOImpl
@Override
public void updateStock(UpdateVO updateVo) throws Exception {
StockMapper mapper = sqlSession.getMapper(StockMapper.class);
mapper.updateStock(updateVo);
}
Service
//업데이트
public void updateStock(UpdateVO updateVo) throws Exception;
ServiceImpl
@Override
public void updateStock(UpdateVO updateVo) throws Exception {
stockDao.updateStock(updateVo);
}
Mapper
public void updateStock(UpdateVO updateVo) throws Exception;
Mapper.xml
<!-- 매개변수 타입입니다. 결과 타입이 아니므로 새로만든 VO를 사용합니다.-->
<update id="updateStock" parameterType="egovframework.example.sample.vo.UpdateVO">
UPDATE stock SET
box = #{box}, stock = #{stock}
WHERE barcode = #{barcode}
</update>
클라이언트 html소스
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>getTest</title>
</head>
<body>
<form action="http://localhost:8080/updateTest.do" method="get">
<label for="barcode">Enter Barcode: </label>
<input type="text" name="barcode" required>
<label for="box">Enter Box: </label>
<input type="text" name="box" required>
<label for="stock">Enter Stcok: </label>
<input type="text" name="stock" required>
<input type="submit" value="Subscribe!">
</form>
</body>
</html>
여기까지 하시면 DB에 업데이트가 잘 되는 것을 확인 하실 수 있습니다.
다시한번 말씀드리지만 코드가 좋지 않을 수 있습니다.
수정사항은 댓글로 알려주시면 빠르게 확인 후 수정하겠습니다.
감사합니다.
'BACK END > java spring(egov)' 카테고리의 다른 글
Spring Boot에서 @Transactional의 RollBack (2) | 2024.11.11 |
---|---|
5. DB 데이터을 엑셀 형태로 내보내기 (0) | 2022.03.31 |
4. spring 검색창으로 원하는 항목 찾기 (0) | 2022.03.30 |
3. 예제 샘플 지우고 리스트 만들기 (0) | 2022.03.29 |
2. spring mysql DB연결(maria DB) (0) | 2022.03.23 |