Spring Boot 프로젝트에서 Mybatis로 Mysql 데이터베이스(DB) 연동하는법
·
Spring Framework
사용자가 책 제목을 입력하면 Mysql테이블에 책이 저장되는 로직을 만듦으로써 Spring Boot 프로젝트에서 Mybatis로 Mysql을 연동하는 법을 알아보겠습니다. 1. porm.xml에 mybatis 와 mysql커넥터 그리고 jdbc 의존성을 추가하여줍니다. #porm.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 org.springframework.boot spring-boot-starter-jdbc mysql mysql-connector-java runtime org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.2 Colored by Color Scripter cs 2. application.properties 파일에..
(게시판에서 동작되는 SQL Query문) 조회수 증가
·
MySQL
조회수 증가 -> 누군가 게시물을 조회할때마다 조회수가 1씩 늘어나야하기 떄문에 update 쿼리문을 사용해서 조회한 게시물의 조회수 데이터가 저장되어있는 view_cnt컬럼의 값에 1이 추가되도록 해 주었습니다. 1 2 3 4 5 6 update board set view_cnt = view_cnt + 1 where board_num = #{boardNum}; Colored by Color Scripter cs
(게시판에서 동작되는 SQL Query문) 게시물 등록,수정,삭제,조회
·
MySQL
1. 게시물 등록 -> 사용자가 게시물을 등록할때 입력하게되는 값은 작성자,제목,내용이므로 BoardVO객체를 통해 데이터들을 전달받아 DB 테이블에 데이터를 저장해주는 명령어인 insert into 쿼리문을 사용해서 각각의 테이블 컬럼에 writer,title,content 값을 저장해 주었습니다. 1 2 3 4 insert into board(writer,title,content) values(#{writer},#{title},#{content}) Colored by Color Scripter cs 2. 게시물 수정 -> 위의 게시물 등록과 같이 사용자가 수정하게 될 값은 작성자,제목,내용 이므로 DB 테이블에 데이터를 수정해주는 명령어인 update 쿼리문을 사용해서 각각의 테이블 데이터를 수정해 ..
(게시판에서 동작되는 SQL Query문) 검색과 페이징이 포함된 게시물 리스트와 게시물수 조회
·
MySQL
1. 전체 게시물 리스트 조회(검색과 페이징 포함) -> 사용자가 제목 또는 작성자 또는 내용 또는 제목+내용인 조건으로 검색하게 될텐데 조건이 달라질때마다 테이블조회 조건인 where절도 달라져야 하므로 동적SQL을 써주었습니다. like뒤에 concat('%',#{keyword},'%')을 사용한 이유는 like "%#{keyword}#%"로 써주게 되면 #{keyword}를 문자열로 인식하기 때문에 문자열을 연결시켜주는 명령어인 concat을 사용하여 주었습니다. 그리고 마지막에 limit절을 써준 이유는 예를 들어 게시물을 5개로 나눠서 순차적으로 조회한다고 가정하면 SQL Query문에서는 limit절을 limit 0,5 -> limit 5,5 -> limit 10,5 이런식으로 작성해주어야 하..
(Spring,JSP) JSP에서 날짜 값을 fmt태그를 사용해 포맷하는법
·
Spring Framework
JSP파일에서 Controller에서 넘겨받은 날짜값을 출력하여보면 Thu Aug 19 09:19:06 KST 2021 이런식으로 날짜가 사용자 입장에서 알아보기 힘들게 출력이 됩니다. 이런식으로 출력되는 날짜를 보기 편하게 바꿀려면 날짜를 포맷하는 과정이 필요합니다. 그러면 그 과정에 대해서 한번 알아보도록 하겠습니다. 1. 먼저 날짜를 포맷하기위해 존재하는 JSTL fmt 라이브러리를 사용하기위해 JSP파일 상단에 아래의 코드를 추가하여줍니다. 1 cs 2. 아래의 코드와 같이 태그를 사용해서 표현하고 싶은 날짜 패턴을 pattern에 그리고 Controller에서 넘어온 날짜값을 value에 입력하여줍니다. 패턴의 형식은 아래 링크인 API문서에 자세히 기록되어있습니다. 링크:SimpleDateFo..
(Spring)Postman를 사용해서 Spring으로 구축한 REST API 서버가 정상작동하는지 테스트 하는 방법
·
Spring Framework
1. 아래 사이트에 접속 후 Postman다운로드 해줍니다. Download Postman | Get Started for Free Download Postman | Get Started for Free Try Postman for free! Join 17 million developers who rely on Postman, the collaboration platform for API development. Create better APIs—faster. www.postman.com 2. Create New를 클릭해줍니다. 3. HTTP Request를 클릭해줍니다. 4. 여기까지 해주시면 구축해둔 REST API서버로 요청을 보낼 준비가 끝나게 됩니다. 5. 통신이 잘 되는지 테스트해보겠습니다. 6..
Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'password' at row 1
·
Spring Framework/Spring 오류해결
Service클래스에서 사용자의 패스워드를 암호화해서 DB에 회원정보를 저장하는 과정에서 생긴 오류입니다. 이 오류는 데이터베이스의 패스워드 컬럼 Varchar의(데이터타입)의 크기가 부족해서 생기는 오류로서 mysql에서 Varchar의 크기를 늘려줌으로서 해결하였습니다. 1. 원래의 varchar(20) 에서 varchar(100)으로 데이터 타입을 변경하여 줍니다. 1 alter table login_user modify password varchar(100); cs 2. 정상적으로 패스워드가 암호화되어 DB에 저장되는 모습입니다.
There is no getter for property named 'password' in 'class com.example.login.vo.UserVO'
·
Spring Framework/Spring 오류해결
위와같은 오류가 발생하여 확인하여보니 SQL컬럼과 VO클래스 변수명중 password를 VO클래스에는 pw로 다르게 써서 발생한 오류였습니다. DB컬럼명과 VO클래스의 변수명은 꼭 잘 맞춰줘야 할 것 같습니다 (1 )SQL 1 2 3 4 5 6 7 Create table login_user( id varchar(100) primary key, password varchar(20) NOT NULL, name varchar(20) NOT NULL, join_date Timestamp default now() ); Colored by Color Scripter cs (2) VO클래스 package com.example.login.vo; import java.util.Date; public class UserV..
Spring Boot에서 JSP 연동(사용)하는 방법
·
Spring Framework
Spring Boot는 Spring Legacy와는 다르게 JSP 파일을 사용하기 위해서는 따로 설정을 해줘야합니다. 그럼 인제 Spring Boot에서 JSP파일을 연동하기 위한 설정에 대해서 설명드리겠습니다. 1. porm.xml파일에서 jasper와jstl 의존성 추가 1 2 3 4 5 6 7 8 9 10 11 org.apache.tomcat.embed tomcat-embed-jasper provided javax.servlet jstl Colored by Color Scripter cs 2. Application 클래스에서 setupViewResolver클래스 생성 후 Prefix,Suffix 경로 지정해준다음 빈 등록 1 2 3 4 5 6 7 8 9 @Bean public InternalReso..
Forwarding to error page from request [/list] due to exception [/WEB-INF/views/list.jsp (행: [32], 열: [59]) JSP 스펙에 따르면, 속성 이름은 반드시 whitespace 다음에 나타나야 합니다.]
·
Spring Framework/Spring 오류해결
jsp파일에서 날짜를 포맷하는 과정에서 맞게 한거 같은데 위와 같은 오류가 발생하여서 확인해봤더니 1 2 3 4 Colored by Color Scripter cs 이와 같이 속성부분에서 띄어쓰기를 안해서 생긴 오류였군요. 이런 사소한 띄어쓰기라도 주의해야겠네요ㅜ