Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- chart.js
- icon
- error
- SQLD
- 자바
- 깃허브
- CSS
- Eclipse
- firestore
- 오류
- JavaScript
- vscode
- AJAX
- 기업설명회
- jQuery
- 코딩
- 이클립스
- 웹개발
- bootstrap
- SQL
- HTML
- Firebase
- restapi
- github
- 티스토리챌린지
- 오블완
- 스파르타코딩클럽
- myBatis
- java
- spring
Archives
- Today
- Total
푸들푸들
1104 [Sakila] addStaff.jsp 본문
staff 추가, staffList Controller
@Slf4j
@Controller
public class StaffController {
@Autowired StaffMapper staffMapper;
@Autowired StoreMapper storeMapper;
@Autowired AddressMapper addressMapper;
// <leftMenu.a태그, addStaff.주소검색>에서 넘어옴
@GetMapping("/on/addStaff")
public String addStaff(Model model, @RequestParam(defaultValue="") String searchAddress) {
// model(storeList)
log.debug("searchAddress: ",searchAddress);
List<Store> storeList = storeMapper.selectStoreList();
model.addAttribute("storeList",storeList);
// model(addressList) <- searchAddress가 공백이 아니면 검색 후 재호출
if(!searchAddress.equals("")) {
List<Address> addressList = addressMapper.selectAddressListByWord(searchAddress);
log.debug("Address list: "+addressList.toString());
model.addAttribute("addressList", addressList);
}
return "on/addStaff";
}
@PostMapping("/on/addStaff")
public String addStaff(Staff staff) { // 커맨드 객체 생성 -> 커맨드 객체.set(request.getPrameter())
// insert 호출
return "redirect:/on/staffList";
}
@GetMapping("/on/staffList")
public String staffList(Model model,@RequestParam(defaultValue="1") int currentPage) {
// model(staffList)
return "on/staffList";
}
@GetMapping("/on/staffOne")
public String staffOne(HttpSession session,Model model) {
int staffId = ((Staff)session.getAttribute("loginStaff")).getStaffId();
Map<String, Object> staff = staffMapper.selectStaffOne(staffId);
model.addAttribute("staff",staff);
log.debug(staff.toString());
return "on/staffOne";
}
}
PostMapping
public String addStaff(Staff staff)
-form에서 받는 객체 - 원래 10개 값을 받아와야하지만 Staff staff 하나로 값을 받을 수 있다(Spring의 장점-line수가 엄청 나게 줄어든다)
public String staffList(@RequestParam(defaultValue="1") int currentPage)
- 값 하나를 받을 때: @RequestParam()
- defaultValue="1": 값이 넘어오지 않을 때 기본값=1
model(staffList)를 위해 mapper 추가 -> StoreMapper.java, xml
주소 검색 쿼리(AdressMapper.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.example.sakila.mapper.AdressMapper">
<select id="selectAddressListByWord" parameterType="String" resultType="com.example.sakila.vo.Address">
SELECT
address_id addressId
, address
FROM address
WHERE LOWER(address) LIKE LOWER(CONCAT('%',#{searchAddress},'%'));
</select>
</mapper>
'구디아카데미 > JAVA' 카테고리의 다른 글
1104 동적 Update문 (0) | 2024.11.04 |
---|---|
이메일 유효성 검사 (0) | 2024.11.04 |
Github 잔디 (4) | 2024.11.02 |
Spring 설치 (1) | 2024.11.02 |
1101 [Sakila] staffOne (2) | 2024.11.01 |