본문 바로가기

Java Spring

Spring MVC패턴 웹 프로젝트 기초설정 - (4)

MariaDB와 스프링 연동

인터넷에 검색하면 MariaDB설치하는 방법이 잘 나와있다. 따라하면서 잘 설치하고 username와 password를 꼭 기억하자.

 

HeidiSQL 다운로드 (HeidiSQL는 데이터베이스를 쉽고 간편하게 사용 할 수 있도록 도와준다.)

www.heidisql.com/download.php

 

Download HeidiSQL

Ads were blocked - no problem. But keep in mind that developing HeidiSQL, user support and hosting takes time and money. You may want to send a donation instead. Download HeidiSQL 11.2, released on 24 Jan 2021 Installer, 32/64 bit combined SHA1 checksum of

www.heidisql.com

HeidiSQL다운로드 사이트에 들어가서 Installer, 32/64 bit combined를 클릭해서 다운받으면 된다.

 

 

간단하게 설치한 후에 HeidiSQL을 들어가 보면 다음과 같이 뜰 것이다. MariaDB를 설치할 때 설정했던 username과 password를 사용자에 username과 암호에 password를 입력하고 열기를 클릭한다.

다음과 같은 창이 뜨면은 Unnamed 마우스 우클릭 -> 새로 생성 -> 데이터베이스 클릭

이름은 board라고 입력하고 확인 버튼을 누른다.

데이터베이스가 생성 됬으면 board 마우스우클릭 -> 새로 생성 -> 테이블 클릭

이름에 board라고 입력한 후에 오른쪽의 쿼리를 클릭한다.

쿼리문에 다음과 같이 입력하고 F9(실행)를 누른다.

create table tbl_board(
  id int not null auto_increment,
  title varchar(50) not null,
  content text not null,
  users varchar(50) not null,
  reg_date timestamp not null default now(),
  view_count int default 0,
  primary key(id)
);

데이터 창을 눌러보면 다음과 같은 컬럼들이 보일 것 이다. 만약 안보인다면 F5를 눌러준다.

데이터를 채워 넣기 위해 다시 쿼리창으로 돌아온다음에 다음과 같이 입력해서 데이터를 채워준다.

insert into tbl_board(title, content, users) values('제목1', '내용1', '홍길동');

insert into tbl_board(title, content, users) values('제목2', '내용2', '김철수');

insert into tbl_board(title, content, users) values('제목3', '내용3', '김영희');

데이터 창으로 와서 F5를 눌러보면 다음과 같이 데이터가 들어와 있을 것 이다.

스프링으로 돌아와서 board -> src/main/java 마우스 우클릭 -> New -> Package 클릭

com.board.domain이라 입력 후에 Finish 클릭

생성한 com.board.domain 마우스 우클릭 -> New -> Class 클릭

name에 BoardVO라고 입력 후에 Finish 클릭

 

다음과 같이 입력을 한다.

private int id;
private String title;
private String content;
private String users;
private Date reg_date;
private int view_count;

 

Date에 에러가 발생하여 Ctrl + Shift + O를 누르고 다음과 같은 창이 뜨면은 java.util.Date 선택 후에 Finish 클릭

Source -> Generate Getters and Setters 클릭

Select ALL을 눌러서 전부 체크를 해주고 Generate 클릭

 

다음은 pom.xml의 dependency를 추가해 준다. (스프링과 mariadb의 연동을 도와준다.)

<!-- maria db -->
<dependency>
    <groupId>org.mariadb.jdbc</groupId>
    <artifactId>mariadb-java-client</artifactId>
    <version>2.3.0</version>
</dependency>

<!-- org.mybatis/mybatis -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.1</version>
</dependency>

<!-- mybatis-spring -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.0</version>
</dependency>

<!-- spring-jdbc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>${org.springframework-version}</version>
</dependency>

</dependencies>의 위쪽에 넣어주자. 

다음은 src -> main -> webapp -> WEB-INF -> spring -> root-context.xml파일을 열고 Namespaces를 클릭한 후에

beans, context, jdbc, mybatis-spring을 체크해준다.

그리고 Source로 돌아와서 bean코드를 추가해 준다.

<bean class="org.springframework.jdbc.datasource.DriverManagerDataSource" id="dataSource">
 <property name="driverClassName" value="org.mariadb.jdbc.Driver" />
 <property name="url" value="jdbc:mariadb://127.0.0.1:3306/board" />
 <property name="username" value="root" />
 <property name="password" value="패스워드 입력" />
</bean>

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
 <property name="dataSource" ref="dataSource" />
 <property name="configLocation" value="classpath:/mybatis-config.xml" />
 <property name="mapperLocations" value="classpath:mappers/**/*Mapper.xml" />
</bean>

<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
 <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>

데이터베이스는 board만 사용하기 때문에 127.0.0.1:3306 뒤에 /board를 붙여준다.

username과 password의 value에 MariaDB설치할 때 설정했던 이름과 패스워드를 넣어주자.

src/main/resources 마우스 우클릭 -> New -> Other 클릭

Wizards에 xml 검색 후에 XML File선택 후 Next 클릭

경로가 board/src/main/resources인지 확인 후에 File name에 mybatis-config-xml입력 후 Finish 클릭

다음과 같이 코드를 입력 한 후에 저장한다.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

</configuration>

 

src/main/resources 마우스 우클릭 -> New -> Folder 클릭

경로가 board/src/main/resources인지 확인 후에 Folder name에 mappers입력 후 Finish 클릭

생성된 폴더 mappers 마우스 우클릭 -> New -> Other 클릭

Wizards에 XML 검색 후에 XML File 선택 후 Next 클릭

경로가 board/src/main/resources/mappers인지 확인 후에 File name에 boardMapper.xml 입력 후에 Finish 클릭

 

다음과 같이 코드를 입력 한 후에 저장한다.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.board.mappers.board">

</mapper>

board 마우스 우클릭 -> Run As -> Run on Server 클릭 

다음과 같이 오류없이 페이지가 정상적으로 뜨면은 성공한 것이다.

 

코드 수정이나 새로운 파일 생성시에 board 앞쪽에 git과 내용이 다르면 > 표시가 생긴다.

깃허브에 두번째 커밋을 올리자. board 마우스 우클릭 -> Team -> Commit 클릭

Commit Message 입력 후에 Commit and Push를 클릭하면 두번째 커밋이 완료 된다.