과자와 회사 정보 모두 가져오기 + 과자 하나 상세보기(join) (java)
2024. 6. 20. 14:27ㆍJSP+Spring Boot
SCController
package com.khmall.controller;
import java.util.List;
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.PathVariable;
import com.khmall.dto.SC;
import com.khmall.service.SCService;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Controller
public class SCController {
@Autowired
private SCService scService;
// index는 기본 주소가 / 임 특별히 특정한 기능을 넣지 않으면
// /(기본 주소) 가 index를 바라보기 때문에 작성을 생략해도 되지만
// 특정한 값을 가져오거나 /(기본 주소)가 index 이외에 다른 html 파일을 바라 볼 때는
// GetMapping("/") 에 기능이나 html 파일을 작성해줌
@GetMapping("/")
public String getAllSC(Model model) {
List<SC> sc = scService.getAllSC();
log.info("모든 db값 가져오는지 확인하기 " + sc);
model.addAttribute("snackAndCompany",sc);
return "index";
}
@GetMapping("/snack/{snack_id}") //주소값이 변할 때는 변하는 변수를 {}로 감싸줌
//주소값으로 id 숫자를 가져와서 주소값에 지정된 id 숫자와 일치하는 db 값을 모두 가져오기
public String getSnackById(Model model, @PathVariable int snack_id ) {
// 주소값으로 설정한 id를 받아오고 scservice에 전달해서 DB에서 꺼내오기 작업
SC sc = scService.getSnackById(snack_id);
model.addAttribute("snack", sc);
return "snackDetail";
}
}
-------------------------------------------------------------------------------------------------
SC (DTO)
package com.khmall.dto;
import lombok.*;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
//@ToString
public class SC {
private int snack_id;
private String snack_name;
private int price;
// mappers 폴더 안에 있는 xml에 작성한 join문에서
// Snacks 테이블에 있는 company_id와 Company 테이블에 있는 company_id
// 와 서로 의미하는 바와 값이 일치할 경우 Company 테이블에 있는
// company_name과 company_phone 가지오겠다.
private String company_name;
private String company_phone;
private String company_address;
}
-----------------------------------------------------------------------------------------------------------
SCMapper
package com.khmall.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import com.khmall.dto.SC;
@Mapper
public interface SCMapper {
//getAllSC 로 가져온 select join문을 보여주기
List<SC> getAllSC();
// 위에서는 모든 제품을 가져오기 때문에 List를 작성했지만
// 아래는 하나의 값만 가져오기 때문에 List를 없애준 것
// snack_id에 해당하는 값을 가져오겠다. 표기
SC getSnackById(int snack_id);
}
---------------------------------------------------------------------------------------------------------------------
SCService
package com.khmall.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.khmall.dto.SC;
import com.khmall.mapper.SCMapper;
@Service
public class SCService {
@Autowired
private SCMapper scmapper;
public List<SC> getAllSC(){
return scmapper.getAllSC();
}
//getSnackById
public SC getSnackById(int snack_id){
return scmapper.getSnackById(snack_id);
}
}
'JSP+Spring Boot' 카테고리의 다른 글
이미지 파일 불러오기(select-image)(resourses) (0) | 2024.06.20 |
---|---|
이미지 파일 불러오기(select-image)(java) (0) | 2024.06.20 |
과자와 회사 정보 모두 가져오기 + 과자 하나 상세보기(join) (resources) (0) | 2024.06.20 |
DB 테이블에 있는 값 불러오기(select) (0) | 2024.06.20 |
상품 등록 폼 만들기(resources 파일)(insert) (0) | 2024.06.17 |