SpringBoot 게시판 만들기

스프링부트(SpringBoot) 게시판 만들기2 - MySQL, MyBatis, JSP 연동(1)

abfc 2017. 8. 19.
반응형

MySql, MyBatis, JSP 연동

 

 

 

1. pom.xml 의 <dependencies> 태그 사이에 MySql, MyBatis, JSP 사용을 위한 라이브러리 추가

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<!-- JSP -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <version>8.0.36</version>
        </dependency>
                
        <dependency>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>javax.servlet.jsp.jstl-api</artifactId>
            <version>1.2.1</version>
        </dependency>
        
        <!--JDBC -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
            <version>1.4.1.RELEASE</version>
        </dependency>
                
        <!-- MYSQL -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
 
        <!--MyBatis -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
              <artifactId>mybatis-spring-boot-starter</artifactId>
               <version>1.1.1</version>
        </dependency>
                
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.0</version>
        </dependency>
                
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.2</version>
        </dependency>
 
 
 
 
cs

 

 

 

 

2. 저장 후 프로젝트 우클릭 - Maven - Update Project

 

 

 

 

 

3. 해당 프로젝트 선택 후 OK

 

 

 

 

4. src/main/resources - application.properties에 작성

 * application.properties (어플리케이션내의 설정 파일) : 스프링부트는 기본적으로 XML을 이용하지 않고, 문자열 등 특별한 설정이 필요한 경우에 사용 할 수 있는 application.properties 파일이 생성됩니다.

 

 

1
2
3
4
5
6
7
8
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
 
spring.datasource.driver-class-name= com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/데이터베이스명
spring.datasource.username= 유저명
spring.datasource.password= 패스워드
 
cs

 * prefix : 경로 지정 / suffix : 파일 확장자명

 

 

 

5. application.properties에서 설정한 경로대로 폴더를 생성 후 jsp 페이지 작성

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
 
<h2> TEST!!!! </h2>
 
</body>
</html>
cs

 

 

 

 

6. JSP 테스트를 위한 Controller 작성

 

 

 

 

 

7. 저장 - 프로젝트 실행(왼쪽 아래에 있는 Boot Dashboard에서 local - 해당 프로젝트를 선택 후 restart 버튼으로도 프로젝트 실행 가능합니다.)

 

 

 

 

 

8. 실행 후 http://localhost:8080/test 로 접속하여 작성한 JSP페이지가 나오는지 확인

 

 

 

 

 

9. 잘 나옴. 짝짞짞짝짝짝!

 

 

 

10. com.example.demo.DemoApplication.java에서  SqlSessionFactory Bean 생성

 * DemoApplication.java 는 "프로젝트명+Application.java" 로 생성 된 이름이기 때문에 프로젝트명이 다르면 이 파일명이 다르게 생성됩니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package com.example.demo;
 
 
import javax.sql.DataSource;
 
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
 
 
@SpringBootApplication
public class DemoApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
    
    /*
     * SqlSessionFactory 설정 
     */
    @Bean
    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception{
        
        SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        
        sessionFactory.setDataSource(dataSource);
        return sessionFactory.getObject();
        
    }
 
}
 
cs

 

 * @Bean : 스프링에 필요한 객체를 생성

 * sqlSessionFactory() : MyBatis의 SqlSessionFactory를 반환해줍니다. 스프링부트가 실행할 때 DataSource객체를 이 메서드 실행 시 주입해서 결과를 만들고, 그 결과를 스프링내 빈으로 사용하게 됩니다. 

 

 

 

 

 

 

 

11. mapper 작성전에 DTO 작성... 전에 패키지 생성

(board 패키지 생성 후 board 패키지 내에 controller, domain, mapper, service 패키지 생성)

 

 

 

 

 

12. 프로젝트명 오른쪽 위에 있는 아래화살표 클릭 - Package Presentation - Hierarchical 선택하면 구조를 깔끔하게 확인 가능

 

 

 

 

 

13. domain에 BoardVO.java 클래스 생성 후 작성

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.example.demo.board.domain;
 
import java.util.Date;
 
public class BoardVO {
 
    private int bno;
    private String subject;
    private String content;
    private String writer;
    private Date reg_date;
 
}
 
cs

 

 

 

 

14. 여기까지만 작성한 후 Source - Generate Getters And Setters... - 전체 선택(Select All) 후 OK 하면 자동으로 getter, setter 생성

 

 

 

 

 

 

 

 

15. 너무 길어져서 다음 포스트에.... 

반응형

댓글

💲 추천 글