DB(MariaDB) 및 JPA를 사용하기 위해, build.gradle 추가
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
MaraiDB 설치
Download MariaDB Server - MariaDB.org
REST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server"
mariadb.org
인텔리제이 데이터 소스 추가
+ (새로작성) -> mariaDB 선택
mariaDB 설치 시,
기입한 ID(root) , 비밀번호
application.yml
데이터소스 설정 추가
spring:
datasource:
url: jdbc:mariadb://localhost:3306/gallery
driver-class-name: org.mariadb.jdbc.Driver
username: root
password: 1234
테이블을 생성하고,
Entity 객체 생성함.
* javax.persistence 에서 jakarta.persistence 변경되어, 어떤 차이가 있는 가?
javax.persistence와 jakarta.persistence는 Java에서 Java Persistence API(JPA)와 관련된 인터페이스와 클래스를 제공하는 두 개의 패키지 javax.persistence는 Java EE 5에서 처음 도입된 JPA의 원래 패키지 이름입니다. 그러나 2017년에 오라클은 Java EE 소유권을 이클립스 재단으로 이전하기로 결정하여, Eclipse 재단으로 소유권이 이전됨에 따라 Jakarta EE 9에서 패키지 이름을 jakarta.persistence로 변경
Why has javax.persistence-api been replaced by jakarta.persistence-api in spring data jpa starter?
I've recently started to learn spring boot, data jpa. As I can see from this, the spring boot data jpa starter uses jakarta.persistence-api instead of javax.persistence-api: <artifactId>s...
stackoverflow.com
Controller
@RestController
public class ItemController {
@Autowired
ItemRepository itemRepository;
// front end - api test 용
@GetMapping("/api/items")
public List<Item> getItems() {
List<Item> items = itemRepository.findAll();
return items;
}
}
Frontend
Home.vue
<script>
import Card from "@/components/Card";
import axios from "axios";
import {reactive} from "vue";
export default {
name: "Home",
components: {Card},
setup(){
const state = reactive({
items:[]
})
axios.get("/api/items").then((res) => {
console.log(res);
state.items = res.data;
})
return {state}
}
}
</script>
Card.Vue
<script>
import lib from "@/scripts/lib";
export default {
name: "Card",
props: {
item: Object,
},
setup() {
return {lib}
}
}
</script>
props 에서 받아올 item 을 객체 타입으로 변경
template 에서 받아온 데이터 출력해보기.
* 데이터 바인딩 :{{ }}
` (작은따옴표 아님) 백틱(backtick) 기호는 ES6(ECMAScript 2015)부터 추가된 템플릿 리터럴(Template literal) 문법에서 사용되는 기호
<template>
<div class="card shadow-sm">
<span class="img" :style="{backgroundImage: `url(${item.imgPath})`}"/>
<div class="card-body">
<p class="card-text">
<span>
{{ item.name }}
</span>
<span class="discount badge bg-danger">
{{ lib.getNumberFormatted(item.discountPer) }}%
</span>
</p>
<div class="d-flex justify-content-between align-items-center">
<button class="btn btn-primary">구입하기</button>
<small class="price text-muted">
{{ lib.getNumberFormatted(item.price) }}원
</small>
<small class="real text-danger">
{{ lib.getNumberFormatted(item.price - item.price * item.discountPer / 100) }}%
</small>
</div>
</div>
</div>
</template>
'프로그래밍' 카테고리의 다른 글
[도커] 1. 도커 기본강의 - 인프런(따라하며 배우는 도커와 CI환경) (0) | 2023.03.27 |
---|---|
[공부 정리] Spring 핵심원리 기본편 - 싱글톤 컨테이너 (0) | 2023.03.22 |
2023.3.17 학습내용 정리 (Spring Boot + Vue.js) (0) | 2023.03.17 |
[SpringBoot] Vue.js 연동한 프로젝트 생성하기 (0) | 2023.03.07 |
[책_컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커] 1. 설치하기 (vagrant , Virtual Box) (0) | 2023.02.22 |