[CSBlog] MyBatis와 DB 연동하기
MyBatis
& SQL MAPPER
를 공부하기 위한 목적으로, 간단한 블로그 시스템을 만들어 보려고 한다😊
데이터를 접근하기 위한 기술에는 JDBC
, JDBC Template
, SQL Mapper
, ORM
등 여러가지가 있지만 이번 토이 프로젝트에서는 SQL Mapper
를 사용할 예정이다.
지금까지는 ORM
& JPA
만 사용했었는데 SQL Mapper
& MyyBatis
를 사용하면, 백엔드 동작을 명확하게 이해할 수 있고 SQL
에 대한 연습을 더 깊게 할 수 있다고 한다!
🏷 Maven 의존성 설치하기
Maven
은 자바 프로젝트에서 사용되는 빌드 자동화 도구로, 프로젝트 구성 및 빌드 관리와 라이브러리 의존성 관리의 역할을 한다.
pom.xml
파일을 수정해야 하는데 이는 Maven이 프로젝트를 빌드하기 위해 필요한 정보를 기술하는 XML 파일이다.
- 프로젝트의 정보
- 프로젝트가 필요로 하는 라이브러리 의존성 정보
- 빌드 단계에서 사용되는 정보
<project>
<groupId>com.codepresso</groupId>
<artifactId>simple-blog</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>simple-blog</name>
<description>simple-blog Exercise Project</description>
<properties>
<java.version>11</java.version>
</properties>
</project>
<project>
태그로 시작되며 간단하게는 위와 같은 형식을 가진다.
<!-- Mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.3</version>
</dependency>
pom.xml
에 MyBatis
를 위한 의존성을 추가한다.
🏷 H2 Database 의존성 설치하기
H2 Database
는 RDBMS 중 하나로 개발 단계에서 테스트용으로 가볍게 활용할 수 있다.
또한 별도의 설치 없이 Maven 의존성만으로 스프링 부트에서 쉽게 활용 가능하다.
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.200</version>
</dependency>
pom.xml
에 H2 Database
를 위한 의존성을 추가한다.
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:blog
spring.datasource.username=sa
spring.datasource.password=
application.properties
에 H2 Database
의 url 및 계정 정보, 웹 콘솔 정보를 설정한다.
🏷 스키마 생성하기
Spring 프로젝트의 resources
디렉토리 하위에 스키마 파일을 생성한다.
schema.sql
drop table if exists comment CASCADE;
create table user_comment(
id bigint generated by default as identity,
post_id bigint not null,
user_name varchar(30) not null,
content varchar(300) not null,
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP not null,
primary key (id)
);
drop table if exists member CASCADE;
create table member(
id bigint generated by default as identity,
user_name varchar(30) not null,
age int not null,
primary key (id)
);
drop table if exists post CASCADE;
create table post(
id bigint generated by default as identity,
user_name varchar(30) not null,
title varchar(50) not null,
post_content varchar(300) not null,
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP not null,
updt_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP not null,
primary key (id)
);
간단하게 글을 작성하기 위한 post
테이블, 댓글 등록을 위한 user_comment
테이블, 회원 관리를 위한 member
테이블을 생성했다.
애플리케이션을 실행시키고 http://localhost:8080/h2-console
에 접속하여 H2 Database
콘솔을 확인하면,
schema.sql
의 SQL문이 자동으로 실행되어 3개의 테이블이 만들어진 것을 확인할 수 있다👍🏻
Author And Source
이 문제에 관하여([CSBlog] MyBatis와 DB 연동하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sorzzzzy/CSBlog-MyBatis와-DB-연동하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)