본문 바로가기
728x90
반응형

전체 글170

[JPA] JPA 시작하기 실습을 통해 JPA를 학습해보자 개발환경 IDE : Visual Studio Code Java : Open JDK 11 Maven : 3.8.1 Database : H2 (1.4.199) Hello JPA 프로젝트 생성 & 설정 H2 Database 설치 & 실행 (1) http://www.h2database.com/ 접속 후 All Platforms 로 다운. (1.4.199 버전은 All Downloads 로 들어가면 있다.) (2) 압축 해제 후 bin/h2.bat 실행 (3) 웹 화면에서 드라이버(jdbc:h2:tcp://localhost/~/test) 확인 후 연결 ※ 웹 화면은 localhost:8082 또는 127.0.0.1:8082 로 접속 가능 H2 Database 장점 웹용 쿼리툴 제공.. 2021. 7. 17.
[JPA] JPA 소개 JPA를 소개하기 앞서 JPA가 나오게 된 이유에 대해 알아보자. SQL 중심적인 개발의 문제점 1. 데이터베이스 세계의 헤게모니는 아직까지도 관계형 DB(Oracle, MySQL ...)가 가지고 있다. 2. 애플리케이션 개발 시 무한반복, 지루한 코드 (CRUD, Java 객체 -> SQL / SQL -> Java 객체) 문제점 발생 예를들어 객체에 필드 추가 시 해당 객체를 사용하는 SQL에 하나씩 다 추가가 필요하여 SQL에 의존적인 개발을 피하기 어렵다. 3. 객체와 관계형 데이터베이스의 차이 상속 : 객체에는 상속관계가 존재하지만 관계형 DB에는 상속관계가 없고 그나마 유사한 Table 슈퍼타입 서브타입 관계라는 논리모델이 존재한다. 상속관계 객체 제어는 부모, 자식 객체를 생성하여 저장, 조.. 2021. 7. 13.
[JPA] 강좌 소개 강좌명 자바 ORM 표준 JPA 프로그래밍 - 기본편 강좌 목표 JPA 내부 동작방식 객체와 관계형 데이터베이스를 올바르게 맵핑하는 방법 위 2가지에 초점을 맞춰 기초를 탄탄하게 하여 실무에서 JPA 사용 시 두려움 없이 사용할 수 있도록 하는 것 커리큘럼 1. JPA소개 & 시작 2. 영속성 관리 - 내부 동작 방식 3. 엔티티 맵핑 4. 연관관계 맵핑 기초 5. 다양한 연관관계 맵핑 6. 고급 맵핑 7. 프록시와 연관관계 관리 8. 값 타입 9. 객체지향 쿼리 언어 (기본, 중급 문법) 참고 https://www.inflearn.com/course/ORM-JPA-Basic# 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의 JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이.. 2021. 7. 13.
[Spring Boot + Vue.js] 게시판 만들기 - 에러 이번 포스팅에서는 에러 발생 시 후처리에 대해 알아보자 404 Error 요청한 페이지가 없을 경우 발생하는 오류 구현 1. Vue Router 설정 import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter) const routes = [ { path: '/', name: 'Main', redirect: '/home', }, { path: '*', name: '404', component: () => import('@/views/error/404.vue'), }, // 홈, 게시판 목록/작성/수정/상세 경로 ] const router = new VueRouter({ mode: 'history', base: process.env... 2021. 1. 14.
[Spring Boot + Vue.js] 게시판 만들기 - 버튼 이번 포스팅은 공통으로 사용되는 버튼을 컴포넌트화 하는 것에 대해 알아보자 버튼 컴포넌트 기존 v-btn에 추가적으로 반응형, 아이콘을 적용하기 위해 공통 컴포넌트로 구현 구현 1. 컴포넌트 구현 {{ iconName }} {{ btnName }} {{ iconName }} v-on="$listeners" 를 사용하면 부모의 이벤트 리스너를 자식에게 전달할 수 있다. v-bind="$attrs" 사용 시 선택적으로 필요한 속성만 자식 컴포넌트에 렌더링 할 수 있다. Mixins 을 이용하여 구현한 isMobile() 함수를 사용하여 화면 사이즈가 모바일인지 여부를 확인하여 버튼의 모양을 다르게 구성한다. 2. Mixins 구현 export default { methods: { isMobile() { re.. 2021. 1. 14.