카테고리395 [Spring] 쇼핑몰 -6 삭제 (Delete) cate_manage.html html에서 삭제버튼을 추가하고, 삭제버튼을 눌렀을때 th:onclick="|location.href='@{/admin/deleteCategory(cateCode=${category.cateCode})}';|" 와 같이 경로로 cateCode 데이터를 가지고 컨트롤러로 가준다. AdminController 컨트롤러 이번엔 컨트롤러에서 Ajax로 다시 넘겨주면서 삭제하는 기능을 하지 않았다. admin-mapper AdminService 인터페이스 매개변수 및 리턴 타입 결정 방법(우선적으로 실행 시 쿼리를 작성) 매개변수 : 쿼리 실행 시 빈 값을 채울 용도 1. 쿼리에서 채워 줄 값이 없을 경우 : 매개변수 없음 2. 채워줄 값이 하나일 경우 2-1) 채워줄 값이 숫자인 .. 2023. 3. 28. [Spring] 쇼핑몰 - 5 카테고리 사용여부 체크 위에 사진에있는 사용여부를 radio 박스로 바꿔보려고 한다. Radio 박스의 class는 복붙해왔다. 하지만 이렇게 복붙만 해와도 적용이 잘 안됄수도 있다. 이렇게 사용자가 편한대로 바꿔줄 수 있다. 카테고리가 존재할때, th:each를 통해 cateList에 저장된 데이터 VO들을 category 이름으로 뽑아줄 수 있다. 이렇게 바꿔도 불과하고, 아래와 같이 orderNum이 2인 악세사리는 사용중에 체크가 되어있다. is_use가 N이지만, 순번 2인 악세사리에는 사용중으로 checked되어있다. 코드를 이런식으로 바꿔주면 잘 뜰 것이다. th:onchange를 사용해서 js 함수를 만들어준다. 이때 js로 보낼 cateCode를 데이터값으로 받아온다. cate_manage.js url로 컨트롤.. 2023. 3. 27. [Javascript - Ajax] 동기(Synchronous)와 비동기(Asynchronous) 동기(Synchronous)와 비동기(Asynchronous) 비동기 방식 - 하나의 작업 종료까지 기다리지 않고 다음 작업을 진행하는 비순차적 처리 방식 동기 방식 - 하나의 작업이 끝난 뒤 다음 작업을 진행하는 순차적 처리 방식 비동기 처리의 장점 비동기 처리를 요청하고 그 처리 시간 동안 다른 작업을 할 수 있기 때문에 동기 처리 프로그램보다 자원을 좀 더 효율적으로 사용가능하다. 비동기 처리의 단점 -동기 처리 방식 프로그램보다는 개발이 복잡해진다. ajax에서 async를 false로 주었을 때, 이때 alert가 뜨는 순서는 1 2 3 4 '사용 가능한 id입니다.' 5 6 aa(10) 으로 해석할 수 있다. 즉, ajax는 실행될 때 시작부터 일반적인 코드와 나뉘게 되면서 따로 실행이 되는데.. 2023. 3. 27. [Spring] 쇼핑몰 -4 카테고리 등록 중복체크 왼쪽과 같이 카테고리에 이미 등록된 상품을 같은 이름으로 등록하면 중복이 뜨게끔 기능을 구현하였다. item-mapper.xml 먼저 item-mapper에서 카테고리 중복체크 select 쿼리문을 만들어주었다. 카테고리 이름을 가지고 조회된 개수를 뽑아내는 쿼리문으로, cateName이 같은 것의 개수를 주었다. 이때 resultType으로 int를 주었는데, 뽑아내는 결과값이 count 갯수 이므로 int로 나타내주었다. AdminService 인터페이스 매개변수 및 리턴 타입 결정 방법(우선적으로 실행 시 쿼리를 작성) 매개변수 : 쿼리 실행 시 빈 값을 채울 용도 1. 쿼리에서 채워 줄 값이 없을 경우 : 매개변수 없음 2. 채워줄 값이 하나일 경우 2-1) 채워줄 값이 숫자인 경우 : 매개변수 .. 2023. 3. 27. [Spring] 쇼핑몰 -3 카테고리 등록 (INSERT) 먼저, Bootstrap으로 가서 이쁜 등록버튼을 복사해오자. cate_manage.html Confirmidentity 위 코드를 빨간 박스에 복사 붙여넣기 해준다. 그럼 위와 같이 이쁘게 잘 나타나있는 것을 확인할 수 있다. 조금 부족하니 + 아이콘도 한번 추가해보자. Icons에 들어가 해당 아이콘 이미지를 복사해온다. col-8과 col-4로 나뉘어져있다고, 12등분중 4만큼의 공간을 차지 하지않는다. 일단 위와 같이 조금 더 세련된 형태로 Bootstrap을 적용하는데 완성하였다. 여기보면 class에 d-grid라는 코드가 있다. 이것을 이용하면 가로줄 전체에 꽉차게끔 만들어주는 기능이다. 그래서 위와 같이 d-grid를 추가해주었다. 보다시피 아주 깔끔한 카테고리 등록 버튼이 만들어진 것을 .. 2023. 3. 26. [Spring] 쇼핑몰 -2 카테고리 조회 (SELECT) 상품 카테고리 테이블을 만들고 조회 시켜보자. item-mapper.xml admin-mapper.xml AdminService 인터페이스 매개변수 및 리턴 타입 결정 방법(우선적으로 실행 시 쿼리를 작성) 매개변수 : 쿼리 실행 시 빈 값을 채울 용도 1. 쿼리에서 채워 줄 값이 없을 경우 : 매개변수 없음 2. 채워줄 값이 하나일 경우 2-1) 채워줄 값이 숫자인 경우 : 매개변수 int형 하나 2-2) 채워줄 값이 문자인 경우 : 매개변수 String형 하나 3. 채워줄 값이 여러개인 경우 : 매개변수는 VO 객체. 리턴타입 : 쿼리 실행 결과를 어떻게 받아올지에 대한 정의 INSERT, UPDATE, DELETE 쿼리 실행 결과는 리턴타입을 int 혹은 void 사용하면됨. int로 받을 땐 re.. 2023. 3. 26. [Spring] 쇼핑몰 - 1 BootStrap으로 레이아웃 구성 프로젝트 생성하자. 일단 기본적으로 늘 사용해왔던 6개 항목을 체크하여 만 프로젝트를 생성해주었다. 프로젝트 생성후 셋팅하고 가져와 줄것들 1 application.properties 파일에 이전에 사용했던 것들을 가지고온 후 username을 이번 DB에 저장한 이름으로 바꿔준다. 2 mappers와 log4jdbc.log4j2.propertis 파일, logback.xml 파일을 복사해서 가지고와준다. 이후 mapper에 있는 xml 파일을 비워준다. 3 implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' // fragment 사용하기 위해 추가 implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-.. 2023. 3. 26. [Spring] 보드게시판 만들기(10) 비밀글 여부 표시하기 ****** 보호되어 있는 글 입니다. 2023. 3. 26. [Spring] 보드게시판 만들기(9) 게시글 삭제하기 상세 게시판에서 삭제 글씨를 누르게 되면 해당 게시글이 삭제가 되는 기능을 구현할 것이다. DB에서 데이터를 지워주는 작업이므로 쿼리를 다뤄야한다. mapper로 이동하자. board-mapper.xml BoardService 인터페이스 매개변수 및 리턴 타입 결정 방법(우선적으로 실행 시 쿼리를 작성) 매개변수 : 쿼리 실행 시 빈 값을 채울 용도 1. 쿼리에서 채워 줄 값이 없을 경우 : 매개변수 없음 2. 채워줄 값이 하나일 경우 2-1) 채워줄 값이 숫자인 경우 : 매개변수 int형 하나 2-2) 채워줄 값이 문자인 경우 : 매개변수 String형 하나 3. 채워줄 값이 여러개인 경우 : 매개변수는 VO 객체. 리턴타입 : 쿼리 실행 결과를 어떻게 받아올지에 대한 정의 INSERT, UPDATE,.. 2023. 3. 26. [Spring] 보드게시판 만들기(8) 댓글 Session 삭제, 수정 먼저, 본인이 작성한 댓글이나 게시글을 알 수 있도록 하려면, HttpSession 객체의 session 변수에 값이 들어가있는지 확인해야한다. MemberController 컨트롤러 이전에 로그인 하기 위해 MemberController에 memberVO에 저장되어있는 데이터들을 HttpSession 객체의 session 값에 넣어 이것을 loginInfo 라고 부르기로했다. 즉, 로그인이 되자마자 해당 사이트에는 session 값을 없애기 전까지 memberVO에 있는 session이 유지되는 것이다. 로그인 후 콘솔창을 확인해보면 위와 같이 memId가 qkrwnghd1234로 session값에 들어가있는 것을 확인할 수 있다. board_detail.html 이전 포스팅에서 replyVO에 있는 .. 2023. 3. 26. [Spring] 보드게시판 만들기(7) 댓글 리스트 출력 댓글 리스트 출력 기능을 만들기 위해서는 html에 데이터를 뿌려줘야한다. 그럼 당연히 DB기능을 써줘야하므로 mapper로 가자. reply-mapper select 태그를 이용한 쿼리이므로 resultMap 또는 reultType이 필요한데, 리스트 출력은 여러개를 조회하는 것이므로 Map을 써주며, 이때 " " 안에는 resultMap의 id가 들어온다. 이전에 포스팅했을때 boardNum 데이터를 계속해서 데이터를 움직여줬다. 따라서 boardNum에 있는 값이 같은 것만 조회할 수 있도록 조건을 주었다. ReplyService 인터페이스 댓글 목록은 여러개의 데이터가 출력되는데, 이때 쿼리에서 boardNum 하나의 변수로만 값을 채워줬으니 위와 같은 코드를 짤 수 있다. 매개변수 및 리턴 타입.. 2023. 3. 25. [Spring] 보드게시판 만들기(6) 댓글 등록 위와 같이 댓글을 달면 댓글 작성자의 이름, 댓글 등록 날짜, 내용이 나오도록 기능을 만드는 과정인 댓글 등록 기능을 만들어보았다 해당 부분도 데이터를 주고받는 쿼리문을 첫번째로 사용해야하므로 바로 mapper로 가보자. Database 댓글 (reply)는 또 새로운 데이터 이므로 데이터베이스에 저장한 DB데이터를 바탕으로 새로운 mapper 파일을 만들었다. reply-mapper.xml 위와 같이 댓글 등록은 insert를 이용해야하고, 기본키인 댓글 번호에는 서브쿼리를 사용하여 1부터 증가하도록 만들었다. ReplyService 인터페이스 mapper에 있는 insert id에서 적어준 insertReply를 메소드 이름으로 설정하고, ReplyVO 객체를 사용해준다. 매개변수 및 리턴 타입 결정.. 2023. 3. 25. 이전 1 ··· 20 21 22 23 24 25 26 ··· 33 다음