- [ 언어·프레임워크/Spring Boot ][Spring Boot][문제해결] mysql-connector-java 를 gradle dependencies 추가할 때 발생한 build.gradle 에러2022-08-24 15:09:47JPA를 MySQL과 연동하던 중이었다. entity class 생성, repository 인터페이스 생성 후 테스트 코드를 작성하고 JUnit 테스트를 시도했는데 에러가 발생했다. BoardRepositoryTest 테스트 코드 package com.fastcampus.board.repository; import java.time.LocalDateTime; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import com.fastcampus.board.BoardApplicationTests; import com.fastcampus.board.model.entity.Board;..
- [ 프로젝트/[팀] 겸상 - 혼밥 매칭 ][팀] 겸상 - 개발 완료 및 최종 발표!2022-08-02 22:48:44지난 7월 31일, 팀 프로젝트 13주 차의 마지막 날이었고, 최종 발표가 진행됐었다. 우리 팀은 12주 차 이전에 이미 계획했던 거의 모든 요구사항들의 구현을 완료했었다. 이후로는 QA 테스트와 테스트 중 발견된 이슈 대응 및 최종 발표 준비로 남은 시간들을 보냈다. 디자인이 구리다(?)는 멘토님의 코멘트가 있었기 때문에 팀 외부의 디자이너분께도 조언을 구하기도 했고-뜻밖에도-그분이 작성한 피그마도 확보할 수 있었다. 확실히 전문 디자이너에게 받은 피그마는 우리가 만든 서비스의 디자인 수준이 어디쯤에 있는지 객관적으로 바라보게 했다. 그렇다고 무작정 그 디자인을 적용할 수는 없었다. 첫 번째 이유는 QA 테스트와 발표 준비에는 넉넉했지만 디자인을 고치기에는 빡빡했던 일정 때문이다. 둘째는 확실히 더 세..
- [ 언어·프레임워크/Spring ][스프링][문제해결] MySQL LIMIT 이용 페이징 처리시 페이지 번호 클릭 이동이 안되는 문제2022-06-24 01:37:31구멍가게 코딩단의 책 "코드로 배우는 스프링 웹 프로젝트(개정판)"으로 Spring legacy project 실습을 하고 있다. 책에서는 Oracle DB를 베이스로 하고 있는데 나의 경우에는 MySQL로 실습 중이다. 309~313쪽을 실습 중이었고 [그림 1]의 페이지 번호를 클릭하면 페이지 이동이 되어야 하는데 제대로 작동하지 않아 애를 먹었다. 아래 코드는 BoardMapper.xml의 일부로서 페이지 번호 클릭 시 페이지 이동을 담당하는 쿼리이다. MySQL에서는 페이징 처리를 위해 Oracle DB와 달리 LIMIT #{pageNum}, #{amount}를 이용한다. #{pageNum}는 몇 개를 skip 하는지이고, #{amount}는 몇 개의 데이터를 가져오는지이다. 예를 들어 1~10을..
- [ 언어·프레임워크/Spring ][스프링] MySQL 페이징 처리 쿼리2022-06-23 14:45:18구멍가게 코딩단의 책 "코드로 배우는 스프링 웹 프로젝트(개정판)"으로 Spring legacy project 실습을 하고 있다. 책에서는 Oracle DB를 베이스로 하고 있는데 나의 경우에는 MySQL로 실습 중이다. 293~297쪽에서 Oracle DB에서의 페이징 처리를 다루기 있는데 MySQL에서는 쿼리문을 다르게 처리해줘야 한다. 아래의 코드는 BoardMapper.xml에 추가된 Oracle DB의 쿼리이다. MySQL에서는 이 쿼리를 사용할 수 없다. (#{pageNum} -1) * #{amount} ]]> MySQL에서는 다음의 쿼리를 BoardMapper.xml에 추가하면 된다. 0 order by bno DESC, regdate DESC LIMIT #{skip}, #{amount}; ..
- [ 언어·프레임워크/Spring ][스프링] Oracle의 nextval 함수를 MySQL에서 처리하는 방법2022-06-20 22:02:34구멍가게 코딩단의 책 "코드로 배우는 스프링 웹 프로젝트(개정판)"으로 Spring legacy project 실습을 하고 있다. 책에서는 Oracle DB를 베이스로 하고 있는데 나의 경우에는 MySQL로 실습 중이다. 190쪽 BoardMapper.xml에 insert 쿼리문이 등장하는데 MySQL에서는 사용할 수 없는 nextval함수를 사용하고 있다. 이대로 실습을 진행했다가는 에러가 뜰게 뻔했고 역시나 그랬다. 구글링 해보니 이 문제에 대한 친절하게 정리된 내용이 있었다. https://yun5o.tistory.com/entry/MySQL-AUTOINCREMENT-%EC%9E%90%EB%8F%99%EC%A6%9D%EA%B0%80-%EA%B0%92-%EA%B0%80%EC%A0%B8%EC%98%A4..
- [ 언어·프레임워크/Spring ][스프링][문제해결] MariaDB와 log4jdbc 관련 에러2022-06-19 00:26:43구멍가게 코딩단의 책 "코드로 배우는 스프링 웹 프로젝트(개정판)"으로 Spring legacy project 실습을 하고 있다. 책에서는 Oracle DB로 실습하도록 되어 있는데 지난 부트 캠프 때 설치한 MySQL을 활용하여 실습하고 있다. MySQL은 MariaDB와 설정이 같아서 실습 중인 프로젝트에는 MariaDB로 세팅하여 진행 중이다. Chapter 08의 "영속/비즈니스 계층의 CRUD 구현"에서 영속 계층의 구현 준비 실습 중 톰캣 서버 구동 시 아래의 에러가 발생했다. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletCont..
- [ 언어·프레임워크/Vue.js ][Vue.js][문제해결] status: 200 대신 severStatus: 2가 넘어 오는 문제2022-04-23 23:21:47Vue.js 프로젝트를 Node.js 서버와 연동하고 있다. MySQL DB의 데이터를 수정하는 기능을 구현하는데 [그림 2]와 같이 status 값이 넘어오지 않는 문제가 있었다. 아래 코드는 DB 데이터를 수정하기 위한 doSave() 함수인데 데이터를 성공적으로 수정하여 status 값 200이 뜨면 if 조건문을 실행하도록 하였다. doSave() { this.$swal({ title: '카테고리 정보를 수정 하시겠습니까?', // text: "You won't be able to revert this!", icon: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', cancelBu..
- [ 영광의 시대!/2022 개발자의 품격 부트캠프 1기 ][개발자의품격][부트캠프][1기][31차시] Node.js #3 | 라우팅(PUT, DELETE)2022-04-08 14:38:34| 라우팅 PUT DB 데이터를 수정하는 기능이다. mysql.query에서 파라미터를 배열로 받는 점을 유념하자! // 11_app_mysql.js ... app.put("/api/product/category/:product_category_id", async (req, res) => { const { product_category_id } = req.params; const result = await mysql.query("categoryUpdate", [ req.body.param, product_category_id, ]); res.send(result); }); mysql.query의 배열 파라미터는 아래 코드의 커리문 내 '?'와 각각 대응한다. // mysql/sql.js module.ex..