스프링 부트와 mySql을 연동하여 개발하던 도중, 아래와 같은 오류가 발생 com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Out of range value for column 데이터 길이만 바꾸면 되는줄 알고 데이터 유형은 INT인 채로 길이만 20으로 바꾸니 오류가 계속 났다.. 데이터 길이가 10 이상이면, BIGINT로 바꿔주자.
전체 글
배운 것에 대한 내 생각을 가지고 정리하자스프링 부트로 개발하던 도중 No serializer found for class 관련 오류가 났다. 나의 오류 원인은 @responseBody로 hashMap을 리턴했는데, 그 안에서 Json으로 변환 도중에 오류가 났던 것 같다. 관련 에러에 대해서 검색해본 결과, 아래 코드를 properties에 작성해주면 된다고 한다. jackson.serialization.fail-on-empty-beans = false 위 오류 사항에 대해서 다음번에 자세하게 알아봐야겠다.
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1zK02%2FbtqxEjnvso2%2F9DIWDplJzWKrmIHZpNZkQk%2Fimg.png)
이번 스프링 부트를 통한 MVC 설정은 JPA - MySql - Thymeleaf를 통해 만들었습니다. - [build.gradle]에 dependency 추가 dependencies { //jpa,jdbc관련 dependency implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation("commons-dbcp:commons-dbcp:1.4") implementation("org.springframework.boot:spring-boot-starter-jdbc:2.0.1.RELEASE") i..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmboLK%2FbtqxAelhQzG%2FHHV0H53qo503IywwhY00C0%2Fimg.png)
git bash로 프로젝트 올리는 방법에 대하여... - 우선 github의 repository가 생성되어 있다고 가정 - 업로드하려는 프로젝트가 살고있는 workspace로 이동(현재 IDE에서 작업중인) - 해당 프로젝트 우클릭 후 [git bash] 클릭(git bash가 안뜬다면 -> 다운로드사이트) - 만약 처음 깃을 다운받고 사용한다면 기본 유저 정보를 등록해야 한다. 유저 정보를 등록하는 방법은 아래 소스에서! 자세한 설명은 Git-GIt 최초 설정 $ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com - git bash를 실행하면 아래와 같은 화면이 뜬다 - [git add..
깃에 프로젝트를 올리기 전에 repository를 커밋할 경우 push나 pull이 안되는 경우가 있다. 나도 안됐기 때문에 찾아봤고, 까먹을까봐 블로그에 남겨놓는다... 에러 메세지 C:\Users\git>git push origin master To https://github.com/user/project.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'https://github.com/user/project.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote coun..
깃에 프로젝트를 올리다보면 gitignore를 추가하기 전에 프로젝트를 올려서 업로드 하기싫은 파일이 업로드 되는 경우가 있다. 깃은 이미 업로드한 파일들을 track(추적)하게 되는데, gitignore를 올리기 전에 프로젝트를 업로드를 하면 이 track에 프로젝트의 모든 파일이 올라가므로, gitignore 파일을 추가해도 track에 잡혀서 업로드가 되는 것 같다. 이를 해결하기 위해서 나는 'git rm --cached [파일명]' 명령어를 사용했다. [파일명]에는 그 파일이 속해있는 모든 경로를 다 적어줘야 하는데, 그 이유는 깃이 기본 경로를 프로젝트명으로 잡고 있기 때문인 것 같다.
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdR7eDc%2FbtqxxKj1MOP%2FStDRheUt6IyZrDtdkSwrHK%2Fimg.png)
보통 스프링 부트에서는 타임리프를 사용하는데, 스프링을 먼저 써보고 타일즈를 먼저 배워서 그런지 아직까진 타일즈가 편하다고 느껴서 스프링 부트에서의 타일즈 설정을 찾아보고 내가 겪은 점을 써본다. - [build.gradle] tiles 관련 dependency 추가 - 우선 jsp를 파싱해주기 위해서 [tomcat-embed-jasper]를 추가해줘야한다. 이게 없으면, 경로를 아무리 잘 잡아도 해당 jsp를 찾을 수 없다는 mapping 에러가 뜨게 된다. - 그리고, jsp를 쓰면 view에서 처리해줄 jstl을 사용하기때문에 이와 관련된 dependency를 추가해준다 - 마지막으로 tiles관련 dependency들을 추가해준다. dependencies { ......... implementat..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDtXT8%2FbtqxwFKepPK%2FymEkfxbm6Eu4qThufeKIDk%2Fimg.png)
스프링에서는 XML에서 리소스 경로를 추가해줘야했기 때문에, 스프링 부트에서 리소스 경로를 어떻게 잡아줘야할지 찾아보게 되었고, 스프링 부트의 편리함을 다시 한 번 느낀다.. - 우선 스프링 부트는 [spring-boot-web-starter]에서 이러한 경로들을 미리 잡아준다 - 필요한 정보만 적어보자면, 리소스 경로가 /resources/static/** 이렇게 잡혀있기 때문에 우리가 html이나 jsp에서 리소스 경로를 추가하려면, 저 밑에 폴더와 파일을 생성해주면 된다. - 아래는 내가 설정한 리소스 경로 사진과 실제 적용 코드이다.