반응형

Spring Boot (Maven) 17

상품등록, 상품 찜 했을때 로그인한 userid를 DB에 저장

1. 상품 찜 했을때 로그인한 id값이 cart DB에 저장 로그인한 유저 id값 받는 스프링부트 시큐리티 로직Authentication auth = SecurityContextHolder.getContext().getAuthentication();UserDTO xxx = (UserDTO)auth.getPrincipal();dto.setUserid(xxx.getUserid());  2. 상품 찜하고 cart DB에 로그인한 id 저장 후 장바구니 페이지에서 로그인한 id와 일치하는 리스트만 불러오기  ModelMap 쓸때 - 위에 처럼 적용 Authentication auth = SecurityContextHolder.getContext().getAuthentication();UserDTO xxx = (..

장바구니에서 체크한 리스트만 삭제하기 ( 체크박스 선택/해제, 선택한 리스트 삭제 )

jsp, springboot, mysql 사용 jsp에 체크박스에 해당하는 input 태그에 onchange="checkAll(this)" 를 넣어줌이렇게 써주기만 하면 체크박스 선택/해제 완료 리스트마다 달리는 체크박스에 value 값을 넣어준다 value를 넣어서 체크박스에 체크를 하면 dto에서 해당 리스트에 해당하는 gCode 값을 받아온다   ${pageContext.request.contextPath}/deleteChecked 은 contextPath를 정해주는거고컨트롤러 매핑값에도 동일하게 적어준다.  @PostMapping("/deleteChecked")   sysout은 항상 보이기 때문에 쓰면 안되는데여기서는 deleteItems를 통해서 code에 어떤값이 들어오는지 볼려고 넣어놨다

Goods 테이블에 있는 값을 Cart 테이블에 저장 ( 상품페이지에서 찜 버튼을 누르면 장바구니에 저장 )

상품페이지에서 찜 버튼을 누르면 장바구니에 저장시킬려고 함    찜 버튼이 있는 jsp에서 taglib prefix=form 써서 값 넘겨주기form을 제대로 쓰면 페이지에서 f12누르면 form태그 라인에 action이 추가된다    값이 제대로 넘어가면 컨트롤러 로직을 통해 DTO로 저장되고 컨트롤러 - DTO - 서비스 - 매퍼 순으로 넘어간다    매퍼에서 cart 테이블에 값을 저장해야돼서 조인을 씀    insert문의 join INSERT INTO cart (userid, gCode):cart 테이블에 userid와 gCode 컬럼에 데이터를 삽입합니다.SELECT #{userid}, g.gCode:SELECT 절에서 #{userid}는 MyBatis의 parameter로 전달된 사용자 ID..

중고물품 관리 시스템

1. ERD로 DB 테이블 관계도 작성 ( https://www.erdcloud.com/ )  2. DB 생성 –SQL– create DATABASE carrot; use carrot; create table user   ( userid varchar(20) PRIMARY KEY,     passwd varchar(20) not null,     username varchar(20) not null,     post varchar(6) not null,     addr1 varchar(500) not null,     addr2 varchar(500) not null,     phone1 varchar(3) not null,     phone2 varchar(4) not null,     phone3 v..

스프링부트, jsp, DB연동해서 프로젝트

1. 의존성 설정 ( pom.xml ) - https://mvnrepository.com/ 검색  2. 내장톰캣 port 번호, context 변경 ( application.properties ) 3. Mysql 연동 설정 ( application.properties )  4. MainController (MainServlet) 생성 (패키지도 생성) -> 당연히 처음 생성하니까 GetMapping,  일단 String으로 생성했고 main.jsp로 연결해야 해서 return "main"; 파라미터에는 request.getParameter 역할을 해줄@RequestParam(required = false, defaultValue = "top") 저장되는 변수 저장되는 변수는 Mapper, 서비스 생성 후..

스프링부트 백그라운드10 ( @Primary, @Qualifier )

DeptDAO, EmpDAO의 상위인 CommonDAO를 하나 만들어준다   이제 서비스에서 받아야하는 DAO는 항상 2개가 아닌 둘 중 하나 Dept or Emp-> 그래서 둘 다 갖고 있는 Common으로 받는다 ( 원래대로 서비스로 받아도 되지만 DAO 간의 우선순위를 위해 )=> 여기까지 하고 실행시키면 오류뜸=> 이유는 DAO 두 개를 다 받아오고 있어서 ( Common에서 뭘 저장할지 몰라서 오류남 )  해결방법 1.DAO에 어노테이션  @Primary 추가  ( 우선순위 )  해결방법 2.ServiceImpl 생성자 파라미터에 @Qualifier("DAO 이름") 추가

Spring Boot (Maven) 2024.06.13

스프링부트 백그라운드8 ( 빈 간의 의존성 설정 ) - 권장

의존성 설정   - 구조       DeptService       @Service                                @Repository       DeptServiceImpl ---------------> DeptDAO       DeptDAO dao;       public DeptServiceImpl(DeptDAO dao){          this.dao = dao;       }   1) 묵시적으로 설정 방법     가. 생성자 이용 (권장방법)       DeptDAO dao;       public DeptServiceImpl(DeptDAO dao){          this.dao = dao;       }          - 권장방법         권장이유는 하나의..

Spring Boot (Maven) 2024.06.09

스프링부트 백그라운드7 ( 빈 생성방법 - 권장 )

@SpringBootApplication 어노테이션이 같은 패키지 혹은 서브 패키지에서 스캔근데 무조건 같은 패키지나 서브 패키지에서 스캔 하는게 아님!그래서 우리가 스캔( 빈으로 만들게 )하게 어노테이션으로 명시해줘야 한다.   => DAO에 @Configuration 어노테이션을 써도 생성이 되지만,      @Configuration은 어떤 빈이 알려주는 역할이라서 알맞지 않음      @Component는 범용적으로 사용하는 어노테이션이라 사용 가능     @Repository     @Service     @Controller  권장패키지 구조첫번째 작업 : @SpringBootAppliction과 같은 패키지거나 서브패키지로 작성한다.두번째 작업 : 클래스에 어노테이션을 지정한다        ..

Spring Boot (Maven) 2024.06.09
반응형