SpringBoot (49) 썸네일형 리스트형 #65 [JPA] 쿼리메소드, 오라클 쿼리/객체 쿼리, DTO 여기 단원은 참고하기 환경설정 - spring security는 로그인 할때만 하기 - 한글 설정 : UTF-8 - build.gradle - application.properties - log4jdbc.log 에서 이름 수정 쿼리메소드와 @Query는 같다. 그 두 가지의 방법을 알아보는 시간 1. 쿼리메소드 : 함수명으로 sql을 작성하는 방법 entity - exam01 - Dept 속성 만들기 @Entity @Table(name="TB_DEPT") @SequenceGenerator( name = "SQ_DEPT_GENERATOR" , sequenceName = "SQ_DEPT" , initialValue = 1 , allocationSize = 1) @Getter @Setter @ToString .. #64 [JPA] 회원가입, 로그인 / 로그아웃 / 관리자 버튼 변경 이력서 첨부에, 이거 한거 수정해서 첨부하면 됨 메뉴 더 만들고 디자인 바꿔서! 새로운 테이블도 만들기. Q&A 나 JSP 프로젝트도 해봤다 로그인하면 로그아웃 버튼만 보이고 로그아웃하면 로그인, 회원가입 버튼만 보이도록 하기 header.jsp header.jsp 에 밑의 태그 달기 : jsp 용 태그 라이브러리 sec:authorize 태그를 회원가입,로그인 / 로그아웃 위아래에 적기 isAnonymous : 로그인을 안했다면 => 회원가입, 로그인 isAuthenticated : 인증되었다면 = 로그인을 했다면 => 로그아웃 hasRole ( 'ADMIN' ) : 권한명이 있다면(로그인을 ROLE_ADMIN으로 로그인했다면) html 태그가 화면에 보임 #64 [JPA] 회원가입 회원가입은 insert 유저를 DB에 하나 만드는것이라서 insert이며 post방식 service에 save 함수를 하나 만들어야 함 select : Get insert : Post create : Put Delete : Delete MemberService // TODO: 회원가입 : save public Member save(Member member){ Member member2 = memberRepository.save(member); return member2; } MemberController // TODO: 회원가입 : insert -> post 방식 -> @PostMapping // 1) 저장(회원가입) 페이지 열기 함수 @GetMapping("/register") public String.. #64 [JPA] 로그아웃 (#3) WebSecurityConfig // TODO: 2) 로그아웃 설정 http.logout( req -> req .logoutUrl("/auth/customLogout") // 스프링에서 logout url 제공함 (로그아웃 페이지는 따로 필요없음) .invalidateHttpSession(true) // 로그아웃 후 세션 id 삭제 (session 삭제 후) .logoutSuccessUrl("/") // logout에 성공하면 /로 redirect ); 여기는 한번 보기만 하기 header.jsp csrf 보안 토큰 삽입 post 방식으로 해야 로그인, 로그아웃 처리를 해주기 때문에 method = "post" 적어야 함 #62-63 [JPA] 로그인 (#3) Spring Security ★ ★ ★ 기술면접에서 로그인 절차 말로 설명할수있어야 함 ★ ★ ★ JPA : DataBase와 Spring 간의 소통을 원활하게 하는 존재 JSP : 엄연히 말하면 프론트엔드 쪽. 화면을 보이게 함 JSQL : JPA에서 모든 함수를 가지고 있지 않기에 @를 이용해서 사용자가 직접 함수를 만들수있게 하는 것 Spring : 환경설정 하려면 100가지가 넘음Spring boot : Spring의 환경설정을 더 간편하게 업그레이드 한 것 프로젝트 생성 환경설정 버전 설정 + 라이브러리 설정할 때 버전을 3.2.4 가 아니라 3.1.10 으로 변경 Spring Boot DevTools (Springboot 시작하면서 기본 3개 체크) Lombok Spring Web + Spri.. #60-61 [JPA] 파일 업로드 (#2) 하드삭제 : 데이터 날리기. 물리적으로 삭제한거. 우리가 했던 소프트삭제 : 화면에만 안보임. 데이터를 날리지않음. 3년 보관 등등 이미지를 통째로 데이터베이스에 저장하겠다 : 자료형이 BLOB DELETE_YN, DELETE_TIME : 소프트 삭제를 위한 컬럼 파일 업로드 : 시퀀스 빼고 다른 방법으로 사용할 예정 BaseTimeEntity2 [정리] 1. 시퀀스 사용 안함 -> 자바의 uuid 사용(기본키) : universally unique identifier => uuid : 자바에서 문자열이 생성됨 (세계에서 유일하게 생성됨. 그래서 중복이 안돼서 기본키로 사용가능. 시퀀스도 중복안돼서 기본키로 사용) 2. soft delete vs hard delete => hard delete : del.. #60 [JPA] (참고) el & jstl 표현식(문단, 범위 객체, 문자열 분리), fn / fmt 라이브러리, 스크립틀릿(변수, 조건문, 반복문) HomeController el & jstl 표현식 index.jsp 1. 문단 출력 jsp의 첫 시작은 views 그래서 /basic은 : views/basic을 뜻하는 것! 근데 우리가 만들려고 하는 첫 페이지는 폴더가 없기에 바로 views 밑에 index.jsp 만들기 안녕하세요 저의 사이트에 오신것을 환영합니다 header.jsp Simple에 걸려있는 태그 href = "#" 에서 href = "/" 2. 범위 객체 3. 문자열을 분리자를 사용해서 분리해서 출력할 수 있음 fn (function) 태그 라이브러리 사용 1. char에 name의 값이 있으면 true, 없으면 false 2. 전체 길이를 리턴 3. chars 문자열에 "홍길동" 값이 있는 index 번호 리턴 fmt (forma.. #58-59 [JPA] Emp 연습문제 (Model ~) 전체 조회 하기 Emp EmpRepository @Repository 작성 EmpService @Autowired로 Repository 객체 가지고 오기 Dao했을 때도, Dao 위에는 @Repositoy 적혀있었음 페이징 처리 // TODO: 연습 2) empRepository 에 findAllByEnameContaining() like 검색 함수 제작 // empService 에 findAllByEnameContaining() 함수 제작 // empController 의 getEmpAll() 함수에 페이징 처리 로직 추가 // emp_all.jsp 페이징 화면 추가(테이블로 출력) // 참고 : 부서 참고 EmpRepository sql-developer에 넣어보면 결과는 3건 나옴 COUNT로 갯수.. 이전 1 2 3 4 5 6 7 다음