🔻Back-End

❗MySQL 업그레이드 5.7에서 8.0으로 버전을 바꾸려면 업그레이드하는 방법도 있지만 이렇게 기존 버전을 삭제 후 다른 버전을 재설치할 수도 있다 5.7에 중요한 정보가 없었기 때문에 삭제 후 8.0을 설치하기로 했다 ❗ MySQL 삭제하기 https://radiant515.tistory.com/465 [MySQL] MySQL 설치 제거하기 ❗MySQL 업그레이드 5.7에서 8.0으로 버전을 바꾸려면 업그레이드하는 방법도 있지만 이렇게 기존 버전을 삭제 후 다른 버전을 재설치할 수도 있다 5.7에 중요한 정보가 없었기 때문에 삭제 후 8.0을 radiant515.tistory.com ❗ MySQL 8.0 설치 https://dev.mysql.com/downloads/ MySQL :: MySQL Com..
❗필수 패키지 설치 & sudo su /usr/local# apt-get install libxml2-dev /usr/local# apt-get install libjpeg-dev /usr/local# apt-get install libpng-dev /usr/local# apt-get install libsqlite3-dev ❗소스파일 다운로드 및 압축 해제 /usr/local# wget https://www.php.net/distributions/php-7.4.1.tar.gz /usr/local# tar xvfz php-7.4.1.tar.gz ❗php 설치 /usr/local# cd php-7.4.1 /usr/local/php-7.4.1# ./configure \ --with-apxs2=/usr/loc..
❗필수 패키지 다운로드 sudo su /usr/local# apt-get update /usr/local# apt-get install cmake /usr/local# apt-get install libssl-dev /usr/local# apt-get install libboost-all-dev /usr/local# apt-get install libncurses5-dev libncursesw5-dev /usr/local# apt-get install make /usr/local# apt-get install gcc /usr/local# apt-get install g++ /usr/local# apt-get install perl ❗소스파일 설치 /usr/local# wget https://dev.mys..
❗필수 패키지 다운로드 $ sudo su # apt-get install make # apt-get install build-essential # apt-get install gcc # apt-get install --reinstall make # apt-get install libexpat1-dev # apt-get install g++ # apt-get install net-tools # apt-get install curl ❗설치 파일 다운로드 및 압축 해제 /usr/local# mkdir apache /usr/local# wget http://mirror.navercorp.com/apache/apr/apr-1.7.2.tar.gz /usr/local# wget http://mirror.naverco..
윈도우에서 복사한 내용을 우분투로 붙여넣기가 갑자기 되지 않아서 이를 해결하기 위한 과정이다
유저가 쓴 각 책에 대한 후기를 뽑아보는 쿼리를 작성하던 중이었다! 이 쿼리문을 실행 시켜보니 이렇게 같은 결과가 3번씩 반환되고 있었다! ❗해결 중복으로 반환된 결과를 없애주기 위한 방법이다 책 인덱스를 기준으로 그룹으로 묶어주는 역할을 통해서 중복된 값을 제거할 수 있었다 그래서 이렇게 원하는대로 bookIdx 4, 6번의 정보만을 갖고 올 수 있게 되었다!!
JPA를 통해 Repository를 만들 땐 한 엔티티 당 하나의 리포지토리를 만들었어야 한다 하지만 이 방법은 여러 테이블을 조인하여 결과를 가질 때 불편하기 때문에 네이티브 쿼리를 이용한다! (JPA 네이티브 쿼리 + 인터페이스 기반 Projections 활용) 유저가 좋아요를 누른 책의 정보를 담아둔 liked_book 테이블엔 user_idx와 book_idx가 있고, 해당 쿼리를 통해 userIdx를 입력받고 유저가 좋아요 누른 책의 제목을 조회하는 쿼리를 작성하고자 한다 ❗interface 구현 유저의 아이디와 책의 이름을 조회할 것이고 이 조회한 내용을 UserLikedBook이라는 인터페이스에 매핑해줄 수 있다 이 인터페이스 안에는 조회하는 항목의 getter를 같이 정의해준다 ❗쿼리 작성..
INSERT INTO 테이블명(필드이름1, 필드이름2, 필드이름3, ...) VALUES (데이터값1, 데이터값2, 데이터값3, ...)
❗컬럼 추가 #그냥 추가하기 ALTER TABLE `테이블명` ADD `컬럼명` 자료형 #지정된 곳에 추가하기 ALTER TABLE `테이블명` ADD `새컬럼명` 자료형 AFTER `앞컬럼명` ❗컬럼 이름 변경 ALTER TABLE `테이블명` CHANGE `컬럼명` `새로운 컬럼명` 자료형 ❗컬럼 디폴트 값 변경 ALTER TABLE `테이블명` ALTER COLUMN `컬럼명` SET DEFAULT 디폴트값
❗구글 이메일의 앱 비밀번호 발급 앱 비밀번호라고 떠있지 않은 경우는 위에 있는 2단계 인증부터 해주시면 뜹니다 ❗이메일 등록하기 ❗스프링 프로젝트 설정 //이메일 인증 implementation group: 'org.springframework.boot', name: 'spring-boot-starter-mail', version: '2.6.3' build.gradle에 의존성 추가 --- spring: mail: host: smtp.gmail.com port: 587 username: #앱 비밀번호 발급받은 google 계정 password: #발급받은 앱 비밀번호 properties: mail: smtp: starttls: enable: true auth: true application.yml에 설..
프로젝트를 실행하려고 하니 오류가 발생했다!
https://github.com/microsoftarchive/redis/releases Releases · microsoftarchive/redis Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes - microsoftarchive/redis github.com
JPA의 일대다, 다대일 양방향 관계를 사용하던 중에 요류가 발생했다 ❗초기 상태 public class Team implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @OneToMany(mappedBy = "team", fetch = FetchType.EAGER) private List members = new ArrayList(); } public class Member implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id..
프로젝트와 DB를 연결할 때 yml에서 어떤 DB를 쓸 것인지 명시해주어야 한다 각 DB에 따라서 드라이버 이름과 url이 다르기 때문에 나누어 작성해두었다! ❗MySQL spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/[스키마이름] username: root password: 12341234 ❗MariaDB spring: datasource: driver-class-name: org.mariadb.jdbc.Driver url: jdbc:mariadb://localhost:3307/[스키마이름] username: root password: 12341234 ❗H2 spring: h2..
프로젝트에서 JPA를 사용할 때 application.yml파일에 이에 대한 설정을 해줄 수 있다 spring: jpa: hibernate: ddl-auto: [옵션] show-sql: true properties: hibernate: format_sql: true ❗ddl-auto create: 서버 시작 후에 기존테이블 삭제하고 다시 생성 create-drop: 서버 시작 후에 테이블을 생성하고 서버 종료 시 테이블 삭제 update: 변경 부분만 추가 validate: 엔티티와 테이블이 정상 매핑되었는지만 확인 none: 사용하지 않음
application.yml 파일에 spring: h2: console: enabled: true path: /h2-console datasource: driver-class-name: org.h2.Driver url: jdbc:h2:mem:testdb username: sa password: 이와 같이 연결하고 http://localhost:8080/h2-console로 접속한 후
❗ 프로젝트 빌드 파일 생성
데이터의 상태를 알 수 있는 status 컬럼을 선언하고 not null과 default 값까지 설정을 해주었었다 `status` VARCHAR(1) NOT NULL DEFAULT 'A' COMMENT 'A: Active(활성상태), D: Delete(삭제, 탈퇴한 상태), B: Black(블랙 유저)', 하지만 Column 'status' cannot be null 오류가 간간히 계속 나타났고 이를 해결하는 방법을 적으려 한다! 1. not null, default 이 상태였을 때 오류가 발생했었다 2. null로 변경 not null을 지운 후 다시 테이블을 만든 다음 데이터를 넣으면 default값이 들어갈 것이라고 생각하면서 작업을 했더니 A가 아니라 이라고 표시되었다 3. not null, de..
@Value를 통해 yml파일에 있는 값을 불러오려 했는데 Cannot find method 'value'오류가 났다!ㅣ 아래의 것으로 import해주어야 제대로 실행될 수 있다! import org.springframework.beans.factory.annotation.Value;
_니지
'🔻Back-End' 카테고리의 글 목록