본문 바로가기

국비과정/Spring

20230727 _[39일차]_01. Spring 게시판 패키지 나누기 & UUID

이제 파일들이 너무 많아서 복잡하니까 컨트롤러끼리 같은 패키지에 모아놓자

 

서비스, DAO, DTO들도 패키지 생성해서 같은 역할하는 파일들끼리 묶어주자~

파일들 옮기면서 오류가 생기는데 (난 안생겼음)

아래 표시부분에 밑줄이 뜨면 ctrl + space 로 import 해주면 된다

아래처럼 임포트 완료되면 오류가 안난다

 

파일마다 임포트 정리해주고 

서버 재기동 해주면 아래 500번 오류가 뜬다

 

아래 근본원인을 살펴보면

 

org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [mybatis/config/mybatisConfig.xml]; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error registering typeAlias for 'boardDTO'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.phyho.pro1.BoardDTO

 

mybatis/config/mybatisConfig.xml => 요부분 문제같으니 해결해주면 된다.

 

 

mybatisConfig.xml 파일에서 각각 DTO 파일들 경로 수정해주면 

그럼 이제 404오류가 뜬다

 

DispatcherServlet 가 먼저 실행되니 얘의 경로를 찾아보자

 

web.xml 에 보면 DispatcherServlet 경로가 나와있다

 

servlet-context.xml 파일 보면 경로가 pro1으로 되어있다

pro1 안에 있는 모든 component를 불러오겠다는 뜻

아래처럼 뒷부분을 *로 바꿔주자


아니면 아래처럼 board끼리, login끼리 패키지로 묶어도 된다.

편한대로 개인취향껏 

 


 

https://dbeaver.io/

 

DBeaver Community | Free Universal Database Tool

DBeaver Universal Database Tool DBeaver Community is a free cross-platform database tool for developers, database administrators, analysts, and everyone working with data. It supports all popular SQL databases like MySQL, MariaDB, PostgreSQL, SQLite, Apach

dbeaver.io

하이디랑 SQL이랑 기능은 똑같은데 하이디는 맥에서 안된다.

이걸로도 한번 써보자 

 

다운로드하고 압축파일 풀어서 실행시키고

처음에 뜨는 팝업은 No 선택하고 

마리아DB선택, 구로서버와 연결

 

아래부분 채워줘

Database : (아이디)

Username : (아이디) 

Password: (비번)

 

 

 

다운로드 완료

 

보면 구로서버와 잘 연결이 되었다 (하이디랑 똑같다)

여기서는 이렇게 DB관계도를 보여준다

요기에서 쿼리문 실행

 

데이터 생성하는건 하이디가 좀 더 편하지만 그외 보여지는 부분은 이게 더 편한듯 하다

 

테이블 생성은 똑같이 aquerytool 에서 만들어서 가져오면 된다

https://aquerytool.com/

 

AQueryTool

AQueryTool은 웹 기반 ERD 툴 + SQL 자동 생성 프로그램입니다.

aquerytool.com


sts로 돌아와서

Help -> Eclipse Marketplace

 

DBeaver 23.1.3 설치

 

그런데  버전때문인지?  안된다..

 


UUID란 ??

 

https://kotlinworld.com/417

 

UUID란 무엇이고 어떻게 구성되는가? 언어별(Kotlin, Java, JavaScript, C#, Python) UUID 만드는법 알아보기

UUID란 무엇인가? UUID(Universally Unique IDentifier)란 네트워크 상에서 중복되지 않는 ID를 만들기 위한 표준 규약이다. 로컬에서 ID를 관리한다면 어떤 아이디들이 생성되었는지 확인한 후 중복을 체크

kotlinworld.com

 

다시 하이디를 사용해보자

아래처럼 board 테이블에 uuid 추가해주고

DTO에도 uuid 변수 추가하고 getter/setter 생성


그러고 나서 여기에서 바로 생성해줘도 됨


우리는 아래처럼 컨트롤러에서 추가해주자

게시판에 글을 쓰면 콘솔창에 아래처럼 출력이 된다

mapper에도 uuid 추가추가

하이디에 가서 데이터 확인해보면 uuid가 생겼다

하이디에서 uuid 필드값 추가 생성할때 Null값 허용에 체크를 해주면

uuid 설정 이전에 썼던 글은 uuid 값이 안들어가고 null로 들어간다.


db에서 바로 해주는 방법도 있다.


 

 

https://www.egovframe.go.kr/

 

표준프레임워크 포털 eGovFrame

본문 내용 바로가기 대메뉴 바로가기 소개 구성 구성상세 버전별 구성 오픈소스 SW 현황 아키텍쳐 라이선스 적용사례 추진성과 기술지원내역 컨트리뷰션 센터소개 지원서비스 적용지원 서비스

www.egovframe.go.kr

 

다운로드 - 개발환경 

다운로드 받자

일단 이건 나중에 다시


스프링 책 읽어보기

p.??  mapping

p. 302 페이징 만들기

p. 325 게시판 검색창 집어넣기

p. 446  AOP (관점지향)

p. 488 파일업로드


회원가입 버튼을 만들어보자

login.jsp 에서 form 바깥에다가 버튼생성

컨트롤러에서 

@GetMapping 선언

join.jsp 페이지 연결해주기

 

join.jsp (회원가입 페이지)에 들어갈 항목

 

아이디 (input text)

비밀번호 (input text)

비밀번호 확인 (input text)

이름 (input text)

주소 (input text)

mbti (드롭다운)

생년월일 (input 달력)

성별 (라디오)